開發好物推薦6之分佈式任務調度平臺xxl-job

前言

分佈式開發環境中,任務調度的需求基本是必不可少的。傳統的最佳方案是Quartz。

但是Quartz有以下缺點

對業務系統侵入性非常嚴重,需要將十幾張表放入業務數據庫中。

沒有提供界面操作,不是很人性化。

調度邏輯和QuartzJobBean耦合在同一個項目中。

在這種背景下,需要有一個更好的平臺來克服以上缺點,xxl-job應運而生。

推薦理由

開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼並接入多家公司線上產品線,開箱即用。

通過Web頁面對任務進行CRUD操作,操作簡單,一分鐘上手。

支持動態修改任務狀態、啟動/停止任務,以及終止運行中任務,即時生效。

支持彈性擴容縮容,故障轉移,任務超時控制,任務失敗重試。

任務失敗時支持郵件報警,支持配置多郵件地址群發報警郵件,方便及時感知錯誤。

樣例和文檔詳細,持續更新迭代

實踐

git下載源碼: https://gitee.com/xuxueli0323/xxl-job.git導入到Eclipse或者其他開發工具修改配置文件


4.初始化SQL腳本

啟動項目,默認端口8080,項目路徑xxl-job-admin



登錄,默認用戶名:密碼 admin:123456



6.在springBoot項目中使用

6.1 POM中引入依賴

<code> com.xuxueli xxl-job-core 2.2.1-SNAPSHOT /<code>

6.2 執行器配置



6.3 執行器的啟動類配置



6.4創建Job任務類(Bean的方法模式)


注意

<code>1、在Spring Bean實例中,開發Job方法,方式格式要求為 "public ReturnT execute(String param)" 2、為Job方法添加註解 "@XxlJob(value="自定義jobhandler名稱", init = "JobHandler初始化方法", destroy = "JobHandler銷燬方法")",註解value值對應的是調度中心新建任務的JobHandler屬性的值。 3、執行日誌:需要通過 "XxlJobLogger.log" 打印執行日誌;/<code>

6.5調度中心,新建調度任務


6.6 啟動項目



6.7 通過任務調度中心,啟動任務


6.8 觀察調度日誌,查看任務是否成功