Spring Boot 使用 XXL-JOB


一、配置部署調度中心

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 添加測試任務

  1. 在Spring Bean實例中,開發Job方法,方式格式要求為 “public ReturnT execute(String param)”
  2. 為Job方法添加注解 “@XxlJob(value=”自定義jobhandler名稱”, init = “JobHandler初始化方法”, destroy = “JobHandler銷毀方法”)”,注解value值對應的是調度中心新建任務的JobHandler屬性的值。
  3. 執行日志:需要通過 “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 ,添加成功后即可看到效果

XXL開源社區


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM