Spring定時任務在有的項目中起到很關鍵的作用,它允許你通過配置來指定特定時間去調用特定類的特定方法。

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


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

 

二. 定時任務的主要步驟:
1.導包

        Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

2.編寫任務類

   Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

3.配置文件中配置

Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

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

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

 Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

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

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

 

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

 

延伸閱讀

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