@Configuration
public class QuartzConfig {
@Bean
public JobDetail JobDetailss() {
return JobBuilder.newJob(DemoJob.class)//PrintTimeJob我们的业务类
.withIdentity("DemoJob")//可以给该JobDetail起一个id
.usingJobData("date", DateUtil.getCurrentDateTime())//每个JobDetail内都有一个Map,包含了关联到这个Job的数据,在Job类中可以通过context获取
.storeDurably()//即使没有Trigger关联时,也不需要删除该JobDetail
.build();
}
@Bean
public Trigger Triggerss() {
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("*/5 * * * * ?");//每隔5秒执行一次 0 0 0 * * ?
return TriggerBuilder.newTrigger()
.forJob(JobDetailss())
.withIdentity("Triggerss")//给Trigger起个名字
.withSchedule(cronScheduleBuilder)
.build();
}
}
class DemoJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) {
Object data = jobExecutionContext.getJobDetail().getJobDataMap().get("date");
System.out.println(data + "-DemoJob被执行了");
}
}