XXL-JOB is a lightweight distributed task scheduling framework. It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand. Now, it's already open source, and many companies use it in production environments, real "out-of-the-box".java
XXL-JOB是一個輕量級分佈式任務調度平臺,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼並接入多家公司線上產品線,開箱即用。mysql
——引用自XXL-JOB的GIT項目介紹git
關於XXL-JOB的其餘介紹能夠參考官網中文文檔介紹,它含有豐富的特性,支持分佈式和動態任務添加以及權限控制等。github
https://github.com/xuxueli/xxl-job/
xxl-job-2.1.1\xxl-job-2.1.1\doc\db\tables_xxl_job.sql
### xxl-job, datasource spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=root_pwd spring.datasource.driver-class-name=com.mysql.jdbc.Driver ### xxl-job, access token 祕鑰填了 下面的子項目要和這個一致 xxl.job.accessToken=
須要注意的是子項目中的配置地址要和admin中的訪問首頁地址一致:spring
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
咱們首選須要啓動項目中的admin,而後再啓動xxl-job-executor-samples下面的內容,這裏咱們啓動,這裏比較簡單的方式是經過springboot的例子進行啓動,這也是做者推薦的啓動方式。sql
啓動後訪問調度中心訪問地址:http://localhost:8080/xxl-job-admin (該地址執行器將會使用到,做爲回調地址)數據庫
默認登陸帳號 「admin/123456」, 登陸後運行界面以下圖所示tomcat
關於job的配置能夠參考Demo示例,而後咱們添加時候用BEAN模式,名稱爲@Service的名稱:springboot
/** * 任務Handler示例(Bean模式) * * 開發步驟: * 一、繼承"IJobHandler":「com.xxl.job.core.handler.IJobHandler」; * 二、註冊到Spring容器:添加「@Component」註解,被Spring容器掃描爲Bean實例; * 三、註冊到執行器工廠:添加「@JobHandler(value="自定義jobhandler名稱")」註解,註解value值對應的是調度中心新建任務的JobHandler屬性的值。 * 四、執行日誌:須要經過 "XxlJobLogger.log" 打印執行日誌; * * @author xuxueli 2015-12-19 19:43:36 */ @JobHandler(value="demoJobHandler") @Component public class DemoJobHandler extends IJobHandler { @Override public ReturnT<String> execute(String param) throws Exception { XxlJobLogger.log("XXL-JOB, Hello World."); System.out.println("XXL-JOB, Hello World."); for (int i = 0; i < 5; i++) { XxlJobLogger.log("beat at:" + i); TimeUnit.SECONDS.sleep(2); } return SUCCESS; } }