xxl-job 使用隨記

xxl-job 使用隨記

xxl-job是最近在使用的一套分佈式定時任務框架,很好用,使用起來也很簡單。但最近遇到一個比較奇怪的問題:由於測試的需要,把服務器上的時間做了修改,往前調整了幾天,後來又改了回來,卻發現定時任務都不執行了。後來排查發現是xxl-job的數據庫中xxl_job_qrtz_triggers中的NEXT_FIRE_TIME字段存儲的時間戳都被修改成了調整後的時間戳,自然光修改服務器的時間,定時任務也不會執行。
遇到這個問題後,便想對這張表進行深入探究下,是如何對數據庫做出修改的。
但當我去搜索這張表時卻發現,xxl-job並沒有對這張表進行過任何操作。
由於xxl-job底層還是調用的quartz,便懷疑是否是quartz對這張表進行的操作。去簡單瞭解了quartz的任務執行流程發現,確實是quartz對這張表進行了操作這裏寫圖片描述
quartz在這個方法中拼接了sql,怪不得搜不到表的一些信息。
但這是又有新的疑問產生(問題真的多),我們jdbc的配置是在xxl-job層配置的,quartz是如何訪問的呢。
後續瞭解到quartz使用的JobStoreTX,通過spring將數據庫配置到了quartz中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章