入門介紹
XXL-JOB是一個輕量級分布式任務調度平臺,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展,整個產品開箱即用,非常方便,而且優勢也是非常明顯的,
產品優勢(這也是我使用感覺的最大優勢)
1.XXL-JOB支持Web頁面操作并且可以對任務進行CRUD非常方便,
2.XXL-JOB支持動態修改任務狀態、啟動、運行、停止以及終止運行中任務,即時生效,
3.支持注冊中心集中式部署: 執行器會周期性自動注冊任務, 調度中心將會自動發現注冊的任務并觸發執行,也支持手動錄入執行器地址,配置相關操作,
4.彈性擴容縮容:一旦有新執行器機器上線或者下線,下次調度時將會重新分配任務
5.支持任務失敗告警,默認提供郵件方式失敗告警,同時預留擴展介面,可方便用其他方式告示,
6.事件觸發:除了"Cron方式"和"任務依賴方式"觸發任務執行之外,支持基于事件的觸發任務方式,調度中心提供觸發任務單次執行的API服務,可根據業務事件靈活觸發,
7.XXL-JOB還是全異步模式:如異步調度、異步運行、異步回呼等,更加有效的對調度密集的任務進行流量削峰,理論上支持任意時長任務的運行,
還有更多優勢詳見XXL-JOB任務調度詳解
下面我們就來介紹使用方法
簡單使用
1.匯入maven依賴
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.2.0</version>
</dependency>
2.增加config組態檔
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.java.Log;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Log
@Configuration
public class XxlJobConfig {
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appName;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
log.info(">>>>> xxl-job config 開始執行 <<<<<");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppName(appName);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}
3.配置properties組態檔
#任務調度
// 調度中心部署跟地址 [選填]:如調度中心集群部署存在多個地址則用逗號分隔,
xxl.job.admin.addresses=
// 執行器通訊TOKEN [選填]:非空時啟用
xxl.job.accessToken=
// 執行器AppName [選填]:執行器心跳注冊分組依據;為空則關閉自動注冊
xxl.job.executor.appname=
// 執行器注冊 [選填]:優先使用該配置作為注冊地址,為空時使用內嵌服務 ”IP:PORT“ 作為注冊地址
xxl.job.executor.address=
// 執行器IP [選填]:默認為空表示自動獲取IP,多網卡時可手動設定指定IP,該IP不會系結Host僅作為通訊實用
xxl.job.executor.ip=
// 執行器埠號 [選填]:小于等于0則自動獲取;默認埠為9999,單機部署多個執行器時,注意要配置不同執行器埠
xxl.job.executor.port=
// 執行器運行日志檔案存盤磁盤路徑 [選填] :需要對該路徑擁有讀寫權限;為空則使用默認路徑;
xxl.job.executor.logpath=
// 執行器日志檔案保存天數[選填]:過期日志自動清理, 限制值大于等于3時生效
xxl.job.executor.logretentiondays=
4.通過注解方式寫定時任務創建JobHandler
@XxlJob(value = "這里是你頁面新增JobHandler的名稱要一致")
public ReturnT<String> jobexecute(String xxx) {
log.info("XXL-JOB Hello World ");
return ReturnT.SUCCESS;
}
5.在調度中心界面上配置執行器
首先登錄任務調度中心,然后新增執行器

6.然后配置定時任務

然后就可以快速開始執行定時任務啦!覺得不錯就給點個贊哈!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/1425.html
標籤:其他
