Spring 與 quartz 配合使用設(shè)置定時(shí)任務(wù)

1、需要jar包

Spring的幾個(gè)核心包

spring-context-support-4.3.8.RELEASE (此包對(duì)quartz的類進(jìn)行了包裝孵延,若無(wú)此類,spring無(wú)法加載相關(guān)quartz類)

quartz

commons-logging

slf4j

jta

commons-beanutils-bean-collections

2洼畅、添加定時(shí)業(yè)務(wù)處理類

public class timerServicer? {

private static final Logger logger = LoggerFactory.getLogger( timerServicer?? .class);

//定時(shí)器調(diào)用的方法

????public void runTask() {

????????logger.info("timer startUp!");

? ? ? ? //編寫業(yè)務(wù)處理邏輯

????????logger.info("timer end!");

????}

}

timerServicer 是一般的業(yè)務(wù)處理類溪窒,runTask()為定時(shí)器調(diào)用的方法

3开镣、Spring xml配置

<?xml version="1.0" encoding="UTF-8"? >

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

<!--定義定時(shí)器業(yè)務(wù)處理類-->

<bean id=" timerServicer " class="com.service.?timerServicer"/>

<!--定時(shí)器類戴涝, p:targetObject-ref 引用業(yè)務(wù)處理類id吩屹, ?p:targetMethod 引用類方法-->

<bean id="smsSendServiceJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"

p:targetObject-ref=" timerServicer? " p:targetMethod=" runTask " p:concurrent="false"/>

<!--定時(shí)器設(shè)置類膘掰, CronTriggerFactoryBean 為定時(shí)觸發(fā)器章姓, ?p:jobDetail-ref 連接定時(shí)器類; p:cronExpression 是定時(shí)公式识埋,后面詳解-->

<bean id="smsSendServiceTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"

? ? ? ? p:jobDetail-ref="smsSendServiceJob" p:cronExpression="0 0 6 * * ?"/>

<!--定時(shí)器工廠類凡伊,list中可以列出多個(gè)定時(shí)器連接-->

<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

????<ref bean="smsSendServiceTrigger" />

</list>

</property>

</bean>

</beans>

這些配置完成后,就可以啟動(dòng)程序了

4窒舟、Cron表達(dá)式的詳細(xì)用法

一個(gè)Quartz的CronTrigger表達(dá)式分為七項(xiàng)子表達(dá)式系忙,其中每一項(xiàng)以空格隔開,從左到右分別是:秒惠豺,分银还,時(shí),月的某天洁墙,月蛹疯,星期的某天,年热监;其中年不是必須的捺弦,也就是說(shuō)任何一個(gè)表達(dá)式最少需要六項(xiàng)。

例:0 0 12 ? * WED 表示每個(gè)星期三的12點(diǎn)執(zhí)行,這里沒(méi)有“年”這項(xiàng)列吼。


先看示列:"0 0/30 8-10 5,20 * ?" 表示“每個(gè)月的5日和20日的8:00,8:30,9:00,9:30,10:00,10:30”

字符解釋:

,:與幽崩,表式","兩邊的值都是需要執(zhí)行的時(shí)間,如上例"5,20"寞钥,每個(gè)月的5日與20日慌申。

-:表示值的范圍,如上例"8-10"凑耻,從8點(diǎn)開始到10結(jié)束太示,包括8點(diǎn)與10點(diǎn)。

*:表式任意可合法的值香浩,如上例"*"是處于月份的字段类缤,所以代表1-12中的任意值,所以上例是指“每個(gè)月”邻吭。

/:增量餐弱,如上例是指從0分開始,每過(guò)30分鐘取一次值囱晴。如果換成"5/8"就是從第5鐘開始每過(guò)8分鐘取一次值:8:05,8:13,8:21,8:29等等

?:不指定值膏蚓,就是“我也不知道”的意思,只能出現(xiàn)在“月的某天畸写,星期的某天”項(xiàng)中驮瞧。在什么情況下用呢?如上例如果指定值為星期一枯芬,那么可能會(huì)出現(xiàn)如4月5日不是星期一论笔,這里就是不對(duì)應(yīng),有沖突千所,所以指定為"?"狂魔,也就是說(shuō)我也不知道是星期幾,只要是5日與20日就行了淫痰,至于是星期幾我才不管呢最楷!

L:最后的,last的意思待错,只能出現(xiàn)在“月的某天籽孙,星期的某天”項(xiàng)中。表示當(dāng)前月或當(dāng)前星期的最后一天朗鸠,注意的是星期的最后一天為星期六蚯撩。

W:月中最接近指定日期的普通日(星期一到星期五),只能出現(xiàn)在“月的某天”烛占,如"15W"就是說(shuō)當(dāng)前月最接近15日的普通日胎挎,如果當(dāng)月的15是星期三就是星期三沟启,如果當(dāng)月的15是星期六那么就是昨天也就是星期五,如果當(dāng)月的15是星期天則為第二天也就是星期一犹菇。

#:當(dāng)前月的第N個(gè)星期X日德迹,只能出現(xiàn)在“星期的某天”項(xiàng)中。如"6#3"就是說(shuō)當(dāng)前月的第三個(gè)星期五揭芍,注意"1-7"胳搞,1=星期天,2=星期一 等等称杨。

五肌毅、表達(dá)式舉例

"0 0 12 * * ?" 每天中午12點(diǎn)觸發(fā)

"0 15 10 ? * *" 每天上午10:15觸發(fā)

"0 15 10 * * ?" 每天上午10:15觸發(fā)

"0 15 10 * * ? *" 每天上午10:15觸發(fā)

"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發(fā)

"0 * 14 * * ?" 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā)

"0 0/5 14 * * ?" 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā)

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

"0 0-5 14 * * ?" 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā)

"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā)

"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā)

"0 15 10 15 * ?" 每月15日上午10:15觸發(fā)

"0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā)

"0 15 10 ? * 6L" 每月的最后一個(gè)星期五上午10:15觸發(fā)?

"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個(gè)星期五上午10:15觸發(fā)

"0 15 10 ? * 6#3" 每月的第三個(gè)星期五上午10:15觸發(fā)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市姑原,隨后出現(xiàn)的幾起案子悬而,更是在濱河造成了極大的恐慌,老刑警劉巖锭汛,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笨奠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡唤殴,警方通過(guò)查閱死者的電腦和手機(jī)般婆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)朵逝,“玉大人蔚袍,你說(shuō)我怎么就攤上這事∨涿” “怎么了页响?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)段誊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)栈拖,這世上最難降的妖魔是什么连舍? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮涩哟,結(jié)果婚禮上索赏,老公的妹妹穿的比我還像新娘。我一直安慰自己贴彼,他們只是感情好潜腻,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著器仗,像睡著了一般融涣。 火紅的嫁衣襯著肌膚如雪童番。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天威鹿,我揣著相機(jī)與錄音剃斧,去河邊找鬼。 笑死忽你,一個(gè)胖子當(dāng)著我的面吹牛幼东,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播科雳,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼根蟹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了糟秘?” 一聲冷哼從身側(cè)響起简逮,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚌堵,沒(méi)想到半個(gè)月后买决,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吼畏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年督赤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泻蚊。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡躲舌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出性雄,到底是詐尸還是另有隱情没卸,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布秒旋,位于F島的核電站约计,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏迁筛。R本人自食惡果不足惜煤蚌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望细卧。 院中可真熱鬧尉桩,春花似錦、人聲如沸贪庙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)止邮。三九已至这橙,卻和暖如春奏窑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背析恋。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工良哲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人助隧。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓筑凫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親并村。 傳聞我的和親對(duì)象是個(gè)殘疾皇子巍实,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容