Quartz框架学习(1)—核心层次结构

Quartz框架学习

  • Quartz(任务调度)框架的核心组件:
    1. job:任务。即任务调度行为中所要调度的对象。
    2. trigger:触发器。是什么促使了一个任务的调度?当然是时间。这也算事件驱动类型程序。
      1. 每隔多久触发一次(含时间单位);
      2. 重复多久或累计重复多少次;
    3. sheduler:谁来安排这件事。
      package quartz;
      
      import org.quartz.Job;
      import org.quartz.JobBuilder;
      import org.quartz.JobDetail;
      import org.quartz.JobExecutionContext;
      import org.quartz.JobExecutionException;
      import org.quartz.Scheduler;
      import org.quartz.SchedulerException;
      import org.quartz.SimpleScheduleBuilder;
      import org.quartz.Trigger;
      import org.quartz.TriggerBuilder;
      import org.quartz.impl.StdSchedulerFactory;
      
      public class FirstQuartzDemo implements Job{
      
          @Override
          public void execute(JobExecutionContext context) throws JobExecutionException {
              System.out.println("FirstQuartzDemo");
          }
          
          public static void main(String[] args) throws SchedulerException {
              /**
               * Step1:建立Job
               */
              JobDetail jd = JobBuilder.newJob(FirstQuartzDemo.class)
                      .withDescription("my first quartz demo")
                      .withIdentity("first").build();
              
              /**
               * Step2:建立trigger
               */
              Trigger trigger = TriggerBuilder.newTrigger()
                      .withSchedule(
                              SimpleScheduleBuilder
                              .simpleSchedule()
                              .withIntervalInSeconds(2)
                              .repeatForever())
                      .build();
              
              /**
               * Step3:获取Scheduler
               */
              StdSchedulerFactory std = new StdSchedulerFactory();
              Scheduler schdl = std.getScheduler();
              
              /**
               * Step4:组装构件,实现逻辑
               */
              schdl.scheduleJob(jd,trigger);
              schdl.startDelayed(5);
              
          }
      }
      View Code
  • 开发步骤:
    1. 创建Job,被执行的内容。必须有一个实现了Job接口的类作为参数,实现该接口就是为了后面调用其实现的execute()方法。和线程的run方法类似(恰巧,线程实现Runnable接口,也叫任务task);
    2. 创建trigger。时间触发了事情的执行;
    3. 创建sheduler。一定要有谁来安排这么一个事情的执行;
    4. 组装上面的三个核心组件,运行代码。
原文地址:https://www.cnblogs.com/InformationGod/p/9471165.html