quartz 集成到Spring中

记录一下,防止忘记。

需要的jar包,quartz-2.2.3.jar,commons-collection-3.1.jar,spring-context-support-4.3.4.RELEASE.jar,以及一些其他的spring相关的jar包

1、首先记录一下简单代码调用

2、集成到Spring中

(1)首先在service中写一个你需要定时的job

(2)单独建一个xml文件用来管理job配置 例如quartz-job.xml

从任务调度的触发时机来分,这里主要是针对作业使用的触发器,主要有以下两种:

i)每隔指定时间则触发一次,在Quartz中对应的触发器为:org.springframework.scheduling.quartz.SimpleTriggerBean

ii)每到指定时间则触发一次,在Quartz中对应的调度器为:org.springframework.scheduling.quartz.CronTriggerBean

第一种:

配置如下

 

第二种:

配置如下

cron时间表达式,含义 

"0 0 12 * * ?"    每天中午十二点触发 

"0 15 10 ? * *"    每天早上10:15触发 

"0 15 10 * * ?"    每天早上10:15触发 

"0 15 10 * * ? *"    每天早上10:15触发 

"0 15 10 * * ? 2005"    2005年的每天早上10:15触发 

"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 

"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 

"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 

"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 

"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 

"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发

(3)最后将quartz-job.xml 添加到 applicationContext.xml中

(4) 可能遇到的异常情况:

Spring 版本与Quartz版本兼容问题

解决办法:经测试,spring 3.x版本与quartz 1.x版本兼容,spring 4.x版本与quartz 2.x版本兼容

原文地址:https://www.cnblogs.com/flyToDreamJava/p/9300495.html