package com.itstyle.quartz.config;
|
|
import org.quartz.CronScheduleBuilder;
|
import org.quartz.JobBuilder;
|
import org.quartz.JobDetail;
|
import org.quartz.Scheduler;
|
import org.quartz.Trigger;
|
import org.quartz.TriggerBuilder;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.stereotype.Component;
|
|
import com.itstyle.quartz.entity.QuartzEntity;
|
import com.itstyle.quartz.service.IJobService;
|
/**
|
* 初始化一个测试Demo任务
|
* 创建者 科帮网
|
* 创建时间 2018年4月3日
|
*/
|
@Component
|
public class TaskRunner implements ApplicationRunner{
|
|
private final static Logger LOGGER = LoggerFactory.getLogger(TaskRunner.class);
|
|
@Autowired
|
private IJobService jobService;
|
@Autowired
|
private Scheduler scheduler;
|
|
@Override
|
public void run(ApplicationArguments var) throws Exception{
|
/**
|
* 系统启动的时候会初始化一个任务
|
*/
|
// Long count = jobService.listQuartzEntity(null);
|
// if(count==0){
|
// LOGGER.info("初始化测试任务");
|
// QuartzEntity quartz = new QuartzEntity();
|
// quartz.setJobName("test01");
|
// quartz.setJobGroup("test");
|
// quartz.setDescription("测试任务");
|
// quartz.setJobClassName("com.itstyle.quartz.job.ChickenJob");
|
// quartz.setCronExpression("*/5 * * * * ?");
|
// quartz.setJobMethodName("test1");
|
// Class cls = Class.forName(quartz.getJobClassName()) ;
|
// cls.newInstance();
|
// //构建job信息
|
// JobDetail job = JobBuilder.newJob(cls).withIdentity(quartz.getJobName(),
|
// quartz.getJobGroup())
|
// .withDescription(quartz.getDescription()).build();
|
// job.getJobDataMap().put("jobMethodName", "test1");
|
// // 触发时间点
|
// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(quartz.getCronExpression());
|
// Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger"+quartz.getJobName(), quartz.getJobGroup())
|
// .startNow().withSchedule(cronScheduleBuilder).build();
|
// //交由Scheduler安排触发
|
// scheduler.scheduleJob(job, trigger);
|
// }
|
}
|
|
}
|