Quartz_任务调度器_对任务进行调度

 Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。

 

 


 

导入并构建运行环境

 


 

简单示例

一个简单的quartz任务调度例子,实现了在1秒后执行HelloJob。

SimpleExample.java

import static org.quartz.DateBuilder.evenSecondDateAfterNow;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class SimpleExample {
  /**
   * 一个简单的quartz任务调度例子,实现了在1秒后执行HelloJob,job的内容是在控制台输出一句话。
   * 1.创建一个任务
   * 2.创建一个触发器
   * 3.创建一个调度器
   * 4.把任务和触发器丢入调度器中
   * 5.提交服务
   * 6.关闭服务
   * @throws Exception
   */
  public void run() throws Exception {
    //1.创建一个任务:通过JobBuilder的静态方法获取一个任务实例JobDetail。
    JobDetail job = newJob(HelloJob.class)
            .withIdentity("job1", "group1")
            .build();
    //2.创建一个触发器:通过JobBuilder的静态方法获取一个触发器Trigger。
    Trigger trigger = newTrigger()
            .withIdentity("trigger1", "group1")
            .startAt(evenSecondDateAfterNow())
            .build();
    //3.创建一个调度器
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();
    //4.把任务和触发器丢入调度器中
    sched.scheduleJob(job, trigger);
    //5.提交服务
    System.out.println("start............");
    sched.start();
    try {
      //五秒后关闭服务
      Thread.sleep(5L * 1000L);
    } catch (Exception e) {
    }
    //6.关闭服务
    System.out.println("shutdown............");
    sched.shutdown(true);
  }

  public static void main(String[] args) throws Exception {
    SimpleExample example = new SimpleExample();
    example.run();
  }
}
查看代码

HelloJob.java

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloJob implements Job {
    public HelloJob() {

    }
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        System.out.println("我在这里龙卷风摧毁停车场!!!");
    }
}
查看代码

运行结果:

 

posted @ 2022-11-13 16:34  在博客做笔记的路人甲  阅读(38)  评论(0编辑  收藏  举报