Spring定時任務(wù)在有的項目中起到很關(guān)鍵的作用,它允許你通過配置來指定特定時間去調(diào)用特定類的特定方法。

一. 分類
1.作業(yè)類需要繼承特定的類。特定的類有:
org.springframework.scheduling.quartz.QuartzJobBean;
java.util.TimerTask.
2.作業(yè)類就是自己定義的普通類。


作業(yè)類使用的觸發(fā)時間的方式主要有兩種。
1.在指定的時間調(diào)用。例如每天的每小時的15分,30分,45分,00分執(zhí)行任務(wù)。
org.springframework.scheduling.quartz.CronTriggerBean
2.每隔一段時間就調(diào)用。比如每過10分鐘就執(zhí)行一次特定的任務(wù)。
org.springframework.scheduling.quartz.SimpleTriggerBean

 

二. 定時任務(wù)的主要步驟:
1.導(dǎo)包

        Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

2.編寫任務(wù)類

   Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

3.配置文件中配置

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

解釋:a: 當(dāng)容器加在該配置文件的時候,首先實(shí)例化任務(wù)調(diào)度工廠,調(diào)度工廠的triggers屬性是一個list,里面存放
所有用戶定義的任務(wù)。
b: 找到這個任務(wù)后,會繼續(xù)找到這個任務(wù)的配置,這里是延遲0秒執(zhí)行調(diào)度,每隔1秒執(zhí)行該任務(wù),該任
務(wù)的名字是task1。
c: 繼而找到task1代表的真正的定義類,也就是圖中配置文件中的第一個bean,其中的jobClass屬性要寫
執(zhí)行任務(wù)類的完整路徑,找到這個類之后會自動調(diào)用類中重寫的那個方法,并且執(zhí)行。

 這種任務(wù)的觸發(fā)方式是每隔一段時間觸發(fā),假如你想要在指定的特定時間觸發(fā),則需要這樣配置:

 Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

僅僅是把上圖中的第二個bean換成這種方式,另外需要注意的是,任務(wù)調(diào)度工廠中的任務(wù)列表

List中要加入該任務(wù)<ref bean= "cronTrigger" />。而原來被替換的simpleTrigger要注釋掉。

 

但博文開始就說了任務(wù)分類有兩種,這里只是繼承特定的類這一種,還有一種就是作業(yè)類就是自己而不需要繼承任何類。
這里需要解釋的是,如果每次寫作業(yè)類都需要硬性繼承某個特定的類,就好像給代碼“綁架”了一樣,還要硬性去重寫某個方法,
這個擴(kuò)展性就太差了。所以就有了第二種,不需要你繼承特定的類重寫特定的方法,而是由你自由定義,之所以做到了這一點(diǎn)是因為這部分邏輯被抽離了出來,
寫在了配置文件中。接下來就介紹這一種。

 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式