基于配置类Bean注入的quartz实现

@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被执行了");
}
}
posted @ 2022-09-19 16:32  liftsail  阅读(67)  评论(0编辑  收藏  举报