
Java任務調度框架之分布式調度框架XXL-Job介紹及快速入門
調度器使用場景:
Java開發中經常會使用到定時任務:比如每月1號凌晨生成上個月的賬單、比如每天凌晨1點對上一天的數據進行對賬操作,在比如每天凌晨5點給180天未登陸過的用戶發送郵件提醒等等。定時任務在我們開發中也占有很重要的部分。
Java實現定時任務有很多方式:
1.JDK自帶的定時器實現,即java.util.TimerTask類
2.使用Quartz定時器來實現
3.使用spring相關的任務調度。自spring 3.0+以后,spring自帶的任務調度,主要依靠TaskScheduler接口的十幾個實現來來實現的
4.spring結合quartz實現的
5.配合linux的crontabe來實現
等等其他的。
在這里凱哥介紹一個分布式任務調度框架-XXL-Job。作者:許雪里。代碼現在已經開源了。
xxl-job介紹:
先來看下目前最新版本v2.1.0的架構圖:

再來看看在git上的stars:

再來看下xxl-job的發展:

我們先來看看官方介紹:
XXL-JOB是一個分布式任務調度平台,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼並接入多家公司線上產品線,開箱即用。
快速入門
源碼下載:
在git上下載源碼(因平台限制,凱哥就不貼git地址了),使用到的git命令:git clone。
下載后,將代碼導入到idea中。
環境要求:
Maven 3+
jdk1.7+
mysql5.7+
先來看看項目結構:

初始化sql腳本
在/xxl-job/doc/db/tables_xxl_job.sql是sql腳本文件。
sql初始化錯誤解決
在sql腳本導入的時候,有可能會遇到如下錯誤:

可以參考如下文章進行修改:

sql腳本執行之后,可以看到有以下6張表了。

任務調度中心的配置
在XXL-Job所有項目中,任務調度中心就是源碼中的xxl-job-admin這個工程。我們需要修改這個工程中信息成為自己的。
修改admin配置文件
文件地址:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties
1:修改數據庫信息

2:如果需要郵件的話可以配置成自己的。其他項根據需求進行修改即可
部署調度中心項目
因為admin項目是spring boot項目,所以,我們直接run:XxlJobAdminApplication即可。文件位置如下圖:

啟動項目后,在瀏覽器中輸入:127.0.0.1:8080/xxl-job-admin
默認的用戶名及密碼->用戶名:admin 密碼:123456
登陸之后,出現如下圖的界面:

菜單說明:
運行報表:如上圖。是調度器運行情況報表
任務管理:定時任務管理列表

調度日志:運行日志記錄

執行器管理:

先配置執行器,然后在任務管理中,新增任務管理,啟動任務之后,就可以在調度日志中,查看到運行結果了。
在下一篇中,我們將介紹怎么在spring boot項目中集成xxl-job使用教程。歡迎大家一起學習。
本文來源:凱哥Java(kaigejava)
