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版本兼容