调度框架Quartz2.x的使用

只是为了记录下,为以后需要的时候有个参考。


版本:Quartz 2.x


导入依赖包:

import static org.quartz.CronScheduleBuilder.cronSchedule;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;


import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;


调度的创建:

//定时调度时间配置。没小时15分的时候执行
String scheCronExpress = "0 0/15 * * * ?";

Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
  //描述了一个任务具体的信息
        JobDataMap jobdataMap = new JobDataMap () ;
        jobdataMap.put("outer", this) ;
  JobDetail job = newJob(ScheduleJob.class)
              .withIdentity("job", "group") //第一个是任务的名称,第二个是组名
              .usingJobData(jobdataMap)
              .build();
  //创建触发器
  Trigger trigger = newTrigger()
                .withIdentity("trigger", "group")
                .withSchedule(cronSchedule(scheCronExpress)) //设置定时调度时间表达式
                .build();
   //任务和触发器关联
        scheduler.scheduleJob(job, trigger);
        //启动定时调度
        scheduler.start();

Job的定义:

/**
  * 定时调度执行类
  * */
 public class ScheduleJob implements Job {


      public void execute(JobExecutionContext context)
          throws JobExecutionException {
                JobDataMap dataMap = context.getMergedJobDataMap(); 

                //TODO 调度时候执行的逻辑代码
   
      }
 }


你可能感兴趣的:(quartz,调度,定时调度,quartz2)