基于配置类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被执行了");
}
}
分类:
SpringBoot
, JAVA定时任务实现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?