一、配置部署調度中心
1.1 下載源碼
https://github.com/xuxueli/xxl-job
1.2 數據庫初始化
執行 /xxl-job/doc/db/tables_xxl_job.sql
1.3 修改配置
/xxl-job/xxl-job-admin/src/main/resources/application.properties
server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_pwd
xxl.job.accessToken=
上面幾個配置根據需求修改,其他的可以不用修改
執行器默認端口是 9999,可以通過 xxl.job.executor.port 修改
1.4 部署
編譯代碼,啟動調度中心
java -jar xxl-job-admin-2.2.1-SNAPSHOT.jar
調度中心訪問地址:http://localhost:8080/xxl-job-admin , 默認登錄賬號:admin/123456
二、使用
2.1 添加依賴包
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.2.0</version>
</dependency>
2.2 添加配置
復制 /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java 到項目
2.3 修改配置
xxl:
job:
admin:
# 調度中心部署跟地址 [選填]:如調度中心集群部署存在多個地址則用逗號分隔。執行器將會使用該地址進行"執行器心跳注冊"和"任務結果回調";為空則關閉自動注冊
addresses: http://127.0.0.1:8080/xxl-job-admin
# 執行器通訊TOKEN [選填]:非空時啟用
accessToken:
executor:
# 執行器AppName [選填]:執行器心跳注冊分組依據;為空則關閉自動注冊
appname: xxl-job-executor-sample
# 執行器注冊 [選填]:優先使用該配置作為注冊地址,為空時使用內嵌服務 ”IP:PORT“ 作為注冊地址。從而更靈活的支持容器類型執行器動態IP和動態映射端口問題。
address:
# 執行器IP [選填]:默認為空表示自動獲取IP,多網卡時可手動設置指定IP,該IP不會綁定Host僅作為通訊實用;地址信息用於 "執行器注冊" 和 "調度中心請求並觸發任務";
ip:
# 執行器端口號 [選填]:小於等於0則自動獲取;默認端口為9999,單機部署多個執行器時,注意要配置不同執行器端口;
port: 9999
# 執行器運行日志文件存儲磁盤路徑 [選填] :需要對該路徑擁有讀寫權限;為空則使用默認路徑;
logpath: /data/applogs/xxl-job/jobhandler
# 執行器日志文件保存天數 [選填] : 過期日志自動清理, 限制值大於等於3時生效; 否則, 如-1, 關閉自動清理功能;
logretentiondays: 30
2.4 添加測試任務
- 在Spring Bean實例中,開發Job方法,方式格式要求為 “public ReturnT execute(String param)”
- 為Job方法添加注解 “@XxlJob(value=”自定義jobhandler名稱”, init = “JobHandler初始化方法”, destroy = “JobHandler銷毀方法”)”,注解value值對應的是調度中心新建任務的JobHandler屬性的值。
- 執行日志:需要通過 “XxlJobLogger.log” 打印執行日志;
可以拷貝 /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java 中的代碼
2.5 調度中心添加新任務
http://localhost:8080/xxl-job-admin/jobinfo ,添加成功后即可看到效果