1、安裝Xxl-job:
可以使用docker拉取映象部署和原始碼編譯兩種方式,這裡選擇原始碼編譯安裝。
程式碼拉取地址:
https://github.com/xuxueli/xxl-job/tree/2.1.2
官方開發檔案:
https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B
2、開啟專案
使用Maven開啟專案,下載相關的jar包依賴。設定相關組態檔
/xxl-job/xxl-job-admin/src/main/resources/application.properties
這裡可以參考官方開發檔案進行設定。
3、初始化資料庫
專案中包含資料庫檔案路徑
/xxl-job/doc/db/tables_xxl_job.sql
4、打包部署專案
使用maven進行打包,排除test。
執行package:
打包成功。
5、啟動編譯過後的Jar包檔案
輸出以上內容,xxl-job啟動成功。
排程中心存取地址:http://localhost:8080/xxl-job-admin (該地址執行器將會使用到,作為回撥地址)
預設登入賬號 「admin/123456」, 登入後執行介面如下圖所示。
至此「排程中心」專案已經部署成功。如果還有其他不懂的請參考相關檔案:
https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B
6、SpringBoot整合Xxl-job使用
獲取XxlJobConfig組態檔,參考Xxl-job原始碼列示:
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java
maven依賴:
<!-- xxl-job-core xxl-job需要的包-->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.2</version>
</dependency>
xxl-job組態檔資訊:
@Bean public XxlJobSpringExecutor xxlJobExecutor() { log.info(">>>>>>>>>>> xxl-job config init."); 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; }
@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;
設定spring boot設定application.yml檔案資訊:
xxl: job: executor: #執行器app的名稱,和控制檯保持一致 appname: xxl-job-executor-sample #有效使用該地址作為註冊地址 為空使用內嵌服務地址 address: #執行器IP 預設自動獲取 ip: localhost #執行器埠 小於等於0 自動獲取 ,預設 9999 ,設定多個執行器時,需要設定不同的執行器埠 port: 9999 #執行器紀錄檔保持天數 -1永久生效 logretentiondays: 30 #執行器紀錄檔檔案保持地址 ,為空使用預設儲存地址 logpath: D:/idea-project/data/xxl-job-log/executor admin: #排程中心部署地址,多個設定 ,分割 addresses: http://127.0.0.1:8080/xxl-job-admin #執行器token accessToken:
控制檯輸出以下內容表示註冊成功:
如果輸出以下資訊,表示註冊失敗,需要重新檢測組態檔資訊:
登入任務排程中心 -->執行器管理 ,可以檢視是否註冊成功。
顯示上面資訊,表示註冊成功。
7、設定MyJobHandle執行任務檔案:
@Component public class MyJobHandle { @Autowired private IUserService userService; /** * xxl-job-core最新版本2.1.2中@JobHandler註解已過時,取而代之的是@XxlJob註解,也不需要去繼承IJobHandler類。 * * @param param 排程平臺接收的引數資訊 */ @XxlJob("syncUser") public ReturnT<String> syncUser(String param){ System.out.println("--------------->>引數為\t"+param); XxlJobLogger.log("xxl-job啟動成功 ,歡迎使用xxl-job同步資料 。。。 syncUser"); List<User> userList = userService.userList(); userList.forEach(System.out::println); return ReturnT.SUCCESS; } }
登入任務排程中心-->任務管理 ,新增任務。
新增成功點選執行按鈕,啟動任務:
檢視執行結果:排程紀錄檔
說明任務執行成功。在來檢視後臺控制檯輸出:
輸出內容,說明任務設定成功了。
以上就是xxl-job使用的簡單案例,想要學習更多內容可以去官網地址進行學習。