您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“springboot怎么整合xxl-job”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“springboot怎么整合xxl-job”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
在我看來,總體可以分為三大塊:
調(diào)度中心
執(zhí)行器
配置定時任務(wù)
簡單來講就是 xxl-job-admin那個模塊,配置:
從doc里面取出xxl-job.sql的腳本文件,創(chuàng)建對應(yīng)的數(shù)據(jù)庫。
進行配置文件的配置,如下圖
進行日志存放位置的修改
然后idea打包之后就能當作調(diào)度中心運行了
訪問地址:ip:port/xxl-job-admin 默認的賬號密碼:admin/123456 注意:你進去后修改密碼,有些瀏覽器就算你賬號密碼對了,可能還是會顯示密碼錯誤,默認使用谷歌瀏覽器。
就是我們使用springboot整合xxl-job需要編寫的代碼。 配置過程:
1.引入核心依賴,這里使用的是2.2.0
<!-- xxl-job --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.2.0</version> </dependency>
注意:這里的版本與你xxl-job-admin的版本保持一致。
2.配置文件
xxl: job: admin: addresses: http://127.0.0.1:8106/xxl-job-admin executor: appname: testJob #xxljob配置的執(zhí)行器名稱, ip: #執(zhí)行器IP,默認為空表示自動獲取IP port: 9988 #xxljob配置的端口號,默認為9999 logpath: ./data/xxl-job/jobhandler #執(zhí)行器運行日志文件存儲磁盤路徑 logretentiondays: -1 #調(diào)度中心日志表數(shù)據(jù)保存天數(shù),過期日志自動清理;限制大于等于7時生效,否則, 如-1,關(guān)閉自動清理功能 accessToken: #調(diào)度中心通訊TOKEN [選填]:非空時啟用
這里ip的獲取,為空可以自動獲取,你也可以在調(diào)度中心管理頁面進行手動配置。
如果需要使用accessToken,那么就需要在xxl-job-admin的配置文件里進行配置對應(yīng)。
3.編寫配置類
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @DESC xxl-job配置類 * @AUTHOR lh * @DATE 2022/6/23 11:41 */ @Configuration @Slf4j 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() { 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; } }
這里需要注意,高版本與低版本的配置類略有不同。
4.編寫測試類
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * @DESC 測試定時任務(wù)代碼 * @AUTHOR lh * @DATE 2022/6/23 11:52 */ @Slf4j @Component public class TestJob { @XxlJob("xxlJobTest") public ReturnT<String> xxlJobTest(String date) { log.info("---------xxlJobTest定時任務(wù)執(zhí)行成功--------"); return ReturnT.SUCCESS; } }
注意:2.2.0版本,已經(jīng)不支持@JobHandler注解了。 這里的XxlJob與調(diào)度中心的定時任務(wù)配置相對應(yīng)。
讀到這里,這篇“springboot怎么整合xxl-job”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。