天天看點

項目ITP(七) javaWeb 整合 Quartz 實作動态排程 并且 持久化Written In The Fontweb.xml注冊監聽器ScheduleStartListener監聽器類sedion.jeffli.wmuitp.listener.ScheduleStartListener實作測試案例第一步: Job 接口實作類JobTest測試案例第二步:QuartzTest

需要:

導入web-inf/lib/quartz-2.2.1.jar

然後資料庫建相關表格,可以去quartz-2.2.1\docs\dbtables目錄下找到對應的資料庫表格.(我這邊mysql , 導入 tables_mysql.sql 即可)

配置quartz.properties

注冊quartz監聽器,監聽項目是否啟動或者重新開機.保證項目啟動或重新開機時,所有任務會被重新安排到任務排程中.

web.xml添加一個listener:

監聽器類主要是實作recovery各個任務,重新恢複在triggergroups組中所有的觸發器,按新的trigger重新設定job執行.順便說下,這個異常自定義(不需要删除即可): sedion.jeffli.wmuitp.exception.quartzexception;

顧名思義,用于自定義任務,方法的實作.你可以在其中寫入任意你想要在那個點上幹的事情(操作資料庫,前台顯示等).在下面那處地方寫入你想要寫的:system.out.println("添入需要加入任務的具體操作"); .順便說下,這個異常自定義(不需要删除即可):

顧名思義,用于實作,檢驗.可以通過schedulerfactory建立一個scheduler執行個體,把觸發器在叢集節點執行個體命名的組隻是為了區分(伐木)從什麼地方定問排程重新執行此作業,如果它是正在進行時排程下去.

這邊,項目tomcat啟動.這邊我的主機時間是:

項目ITP(七) javaWeb 整合 Quartz 實作動态排程 并且 持久化Written In The Fontweb.xml注冊監聽器ScheduleStartListener監聽器類sedion.jeffli.wmuitp.listener.ScheduleStartListener實作測試案例第一步: Job 接口實作類JobTest測試案例第二步:QuartzTest

然後我們運作:

看控制台:

先輸出

然後時間到了

然後測試 quartz的持久化.(持久化測試就是 先開啟任務,然後 中間斷開重新開機伺服器),之間你會發現控制台:

今天我重寫了下,: