Java定时任务Quartz
第一步:pom文件中添加依赖包
第二步:创建xml文件,名称为:spring-scheduler 路径如下图:
第三步:spring-scheduler配置详情
<!--创建任务--> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="jobDetails"> <list> <ref bean="updateTimeOutUrgentJobDetail" /> <ref bean="earlyWarnJobDetail" /> <!--<ref bean="msgPushJobDetail" />--> </list> </property> <!--引入触发器--> <property name="triggers"> <list> <ref bean="updateTimeOutUrgentTrigger" /> <ref bean="earlyWarnJobTrigger" /> <!--<ref bean="msgPushJobTrigger" />--> </list> </property> </bean> <!--任务 引入具体的service--> <bean id="updateTimeOutUrgentJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="cn.com.klec.bepcs.web.quartz.TimeOutUrgentJob" /> <property name="jobDataMap"> <map> <entry key="timeOutUrgentJobService" value-ref="timeOutUrgentJobService" /> </map> </property> <property name="durability" value="true" /> </bean> <!--创建触发器--> <bean id="updateTimeOutUrgentTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!--引入任务--> <property name="jobDetail" ref="updateTimeOutUrgentJobDetail" /> <!--指定 Cron 表达式--> <property name="cronExpression" value="0 0 * * * ?"/> </bean>
第三步:实现定时任务,具体的业务操作
第四步:创建任务 TimeOutUrgentJob
public class TimeOutUrgentJob extends QuartzJobBean { private static final Logger LOG = LoggerFactory.getLogger(TimeOutUrgentJob.class); private TimeOutUrgentJobService timeOutUrgentJobService; @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { LOG.info("**********************里程碑催办任务启动*******************************"); try { timeOutUrgentJobService = (TimeOutUrgentJobService) context.getMergedJobDataMap().get("timeOutUrgentJobService"); timeOutUrgentJobService.insertInfo(); } catch (Exception e) { LOG.error("里程碑催办任务异常: ", e); } finally { LOG.info("**************************里程碑催办任务结束 **************************"); } } }
第五步:启动项目
注释:timeOutUrgentJobService.insertInfo();就是项目中需要具体实现的业务,quartz默认10个线程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步