天天看點

SpringMvc整合Quartz實作定時任務項目源碼

         項目中一直使用quartz做定時任務,但是一直沒有去仔細閱讀詳細參數配置說明以及它源碼,最近花了一點時間做了一個整理。系統的看了一下源碼實作并順手做了一個簡單的demo。

一、說明

spring版本4.0.5、quartz版本2.2.2

注意定時任務的配置需要spring-context-support-4.0.5.release.jar進行配置,是以項目中要加入此包。還需要log4j的包,這裡版本用的是log4j-1.2.17.jar,slf4j-log4j12-1.6.1.jar,slf4j-api-1.6.4.jar當然還有一些依賴包,項目中都有,這裡不再做說明。

二、安裝配置

1)jobxml配置

2)代碼實作

3)web.xml配置

關于cronexpression表達式: 

字段 允許值 允許的特殊字元 

秒 0-59 , - * / 

分 0-59 , - * / 

小時 0-23 , - * / 

日期 1-31 , - * ? / l w c 

月份 1-12 或者 jan-dec , - * / 

星期 1-7 或者 sun-sat , - * ? / l c # 

年(可選) 留白, 1970-2099 , - * / 

表達式意義 

"0 0 12 * * ?" 每天中午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期間的每1分鐘觸發 

"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發 

"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發 

"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發 

"0 10,44 14 ? 3 wed" 每年三月的星期三的下午2:10和2:44觸發 

"0 15 10 ? * mon-fri" 周一至周五的上午10:15觸發 

"0 15 10 15 * ?" 每月15日上午10:15觸發 

"0 15 10 l * ?" 每月最後一日的上午10:15觸發 

"0 15 10 ? * 6l" 每月的最後一個星期五上午10:15觸發 

"0 15 10 ? * 6l 2002-2005" 2002年至2005年的每月的最後一個星期五上午10:15觸發 

"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發 

每天早上6點 

0 6 * * * 

每兩個小時 

0 */2 * * * 

晚上11點到早上8點之間每兩個小時,早上八點 

0 23-7/2,8 * * * 

每個月的4号和每個禮拜的禮拜一到禮拜三的早上11點 

0 11 4 * 1-3 

1月1日早上4點 

0 4 1 1 * 

<a target="_blank" href="http://www.52itstyle.com/thread-26261-1-1.html">科幫網</a>