SpringCloud如何引用xxjob定時任務(wù)
SpringClout 引用 xxjob定時任務(wù)
下載源碼
分布式任務(wù)調(diào)度平臺XXL-JOB-官網(wǎng)地址
源碼地址
組成部分
調(diào)度中心
作用:統(tǒng)一管理任務(wù)調(diào)度平臺上調(diào)度任務(wù),負責(zé)觸發(fā)調(diào)度執(zhí)行,并且提供任務(wù)管理平臺。
公共依賴
xxl-job-core
執(zhí)行器
作用:負責(zé)接收“調(diào)度中心”的調(diào)度并執(zhí)行;可直接部署執(zhí)行器,也可以將執(zhí)行器集成到現(xiàn)有業(yè)務(wù)項目中。
調(diào)度中心使用步驟
修改調(diào)度中心配置
位置:/xxl-job/xxl-job-admin/src/main/resources/application.properties
配置解釋
### 調(diào)度中心JDBC鏈接:鏈接地址請保持和 2.1章節(jié) 所創(chuàng)建的調(diào)度數(shù)據(jù)庫的地址一致 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 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ### 報警郵箱 spring.mail.host=smtp.qq.com spring.mail.port=25 spring.mail.username=xxx@qq.com spring.mail.password=xxx spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory ### 調(diào)度中心通訊TOKEN [選填]:非空時啟用; xxl.job.accessToken= ### 調(diào)度中心國際化配置 [必填]: 默認為 "zh_CN"/中文簡體, 可選范圍為 "zh_CN"/中文簡體, "zh_TC"/中文繁體 and "en"/英文; xxl.job.i18n=zh_CN ## 調(diào)度線程池最大線程配置【必填】 xxl.job.triggerpool.fast.max=200 xxl.job.triggerpool.slow.max=100 ### 調(diào)度中心日志表數(shù)據(jù)保存天數(shù) [必填]:過期日志自動清理;限制大于等于7時生效,否則, 如-1,關(guān)閉自動清理功能; xxl.job.logretentiondays=30
啟動驗證
1.啟動類啟動
2.登錄網(wǎng)址:http://localhost:8080/xxl-job-admin/jobinfo
3.admin 123456 (登錄密碼也可在數(shù)據(jù)庫中自定義)
執(zhí)行器使用步驟
修改執(zhí)行器配置
1.引入依賴
<!-- xxl-job-core --> <dependency> <groupId>com.lazzen.cloud</groupId> <artifactId>cloud-xxl-job-core</artifactId> </dependency>
2.修改配置
#調(diào)度中心部署跟地址 [選填]:如調(diào)度中心集群部署存在多個地址則用逗號分隔。執(zhí)行器將會使用該地址進行"執(zhí)行器心跳注冊"和"任務(wù)結(jié)果回調(diào)";為空則關(guān)閉自動注冊; xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin #執(zhí)行器通訊TOKEN [選填]:非空時啟用; xxl.job.accessToken= #執(zhí)行器AppName [選填]:執(zhí)行器心跳注冊分組依據(jù);為空則關(guān)閉自動注冊 xxl.job.executor.appname=xxl-job-executor-sample #執(zhí)行器注冊 [選填]:優(yōu)先使用該配置作為注冊地址,為空時使用內(nèi)嵌服務(wù) ”IP:PORT“ 作為注冊地址。從而更靈活的支持容器類型執(zhí)行器動態(tài)IP和動態(tài)映射端口問題。 xxl.job.executor.address= #執(zhí)行器IP [選填]:默認為空表示自動獲取IP,多網(wǎng)卡時可手動設(shè)置指定IP,該IP不會綁定Host僅作為通訊實用;地址信息用于 "執(zhí)行器注冊" 和 "調(diào)度中心請求并觸發(fā)任務(wù)"; xxl.job.executor.ip= #執(zhí)行器端口號 [選填]:小于等于0則自動獲?。荒J端口為9999,單機部署多個執(zhí)行器時,注意要配置不同執(zhí)行器端口; xxl.job.executor.port=9999 #執(zhí)行器運行日志文件存儲磁盤路徑 [選填] :需要對該路徑擁有讀寫權(quán)限;為空則使用默認路徑; xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler #執(zhí)行器日志文件保存天數(shù) [選填] : 過期日志自動清理, 限制值大于等于3時生效; 否則, 如-1, 關(guān)閉自動清理功能; xxl.job.executor.logretentiondays=30
執(zhí)行器組件配置
執(zhí)行器組件,配置文件地址:XxlJobConfig.java
@Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(adminAddresses); xxlJobSpringExecutor.setAppname(appname); xxlJobSpringExecutor.setAddress(address); xxlJobSpringExecutor.setIp(ip); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; }
啟動
創(chuàng)建定時任務(wù)
創(chuàng)建任務(wù)代碼
此處的業(yè)務(wù)邏輯就遵循三層架構(gòu)沒有什么特別之處
@Slf4j @Component @AllArgsConstructor public class xxjobTest { private final OamTimingAirconditionService oamTimingAirconditionService; /** * 定時分合閘處理器 */ @XxlJob("demoJobHandler") public void lightingGateway() { XxlJobHelper.log("定時任務(wù)開始執(zhí)行....."); // 讀取參數(shù) String param = XxlJobHelper.getJobParam(); if (param == null || param.trim().isEmpty()) { // 參數(shù)錯誤 XxlJobHelper.log("param[" + param + "] invalid."); XxlJobHelper.handleFail(); return; } try { // 業(yè)務(wù)邏輯 XxlJobHelper.handleSuccess(); } catch (Exception ex) { log.error(ex.getMessage(), ex); XxlJobHelper.log(ex); XxlJobHelper.handleFail(); }finally { DynamicDataSourceExt.clearCustomIdThreadLocal(); } XxlJobHelper.log("定時任務(wù)執(zhí)行結(jié)束!"); } }
到此這篇關(guān)于SpringCloudt 引用 xxjob定時任務(wù)的文章就介紹到這了,更多相關(guān)SpringCloud xxjob定時任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解spring boot整合JMS(ActiveMQ實現(xiàn))
本篇文章主要介紹了詳解spring boot整合JMS(ActiveMQ實現(xiàn)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10SpringBoot集成Swagger構(gòu)建api文檔的操作
這篇文章主要介紹了SpringBoot集成Swagger構(gòu)建api文檔的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Java反射機制詳解_動力節(jié)點Java學(xué)院整理
Java 反射機制。通俗來講呢,就是在運行狀態(tài)中,我們可以根據(jù)“類的部分已經(jīng)的信息”來還原“類的全部的信息”。這篇文章給大家詳細介紹了java反射機制的知識,感興趣的朋友一起看看吧2017-06-06Java多線程使用阻塞隊列實現(xiàn)生產(chǎn)者消費者模型詳解
這篇文章主要介紹了Java多線程使用阻塞隊列實現(xiàn)生產(chǎn)者消費者模型詳解,主要講解阻塞隊列的特性、實際開發(fā)中常用的到的生產(chǎn)者消費者模型,以及生產(chǎn)者消費者模型解耦合、削峰填谷的好處,需要的朋友可以參考下2023-07-07tomcat目錄結(jié)構(gòu)簡介_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了tomcat目錄結(jié)構(gòu)簡介_動力節(jié)點Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下2017-07-07