springboot整合xxl-job的示例代碼
關(guān)于xxl-job
在我看來,總體可以分為三大塊:
- 調(diào)度中心
- 執(zhí)行器
- 配置定時任務(wù)
調(diào)度中心
簡單來講就是 xxl-job-admin那個模塊,配置:
- 從doc里面取出xxl-job.sql的腳本文件,創(chuàng)建對應(yīng)的數(shù)據(jù)庫。
- 進(jìn)行配置文件的配置,如下圖
進(jìn)行日志存放位置的修改
- 然后idea打包之后就能當(dāng)作調(diào)度中心運(yùn)行了
- 訪問地址:ip:port/xxl-job-admin 默認(rèn)的賬號密碼:admin/123456 注意:你進(jìn)去后修改密碼,有些瀏覽器就算你賬號密碼對了,可能還是會顯示密碼錯誤,默認(rèn)使用谷歌瀏覽器。
執(zhí)行器
就是我們使用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,默認(rèn)為空表示自動獲取IP ? ? ? port: 9988 #xxljob配置的端口號,默認(rèn)為9999 ? ? ? logpath: ./data/xxl-job/jobhandler ?#執(zhí)行器運(yùn)行日志文件存儲磁盤路徑 ? ? ? logretentiondays: -1 ?#調(diào)度中心日志表數(shù)據(jù)保存天數(shù),過期日志自動清理;限制大于等于7時生效,否則, 如-1,關(guān)閉自動清理功能 ? ? accessToken: #調(diào)度中心通訊TOKEN [選填]:非空時啟用
這里ip的獲取,為空可以自動獲取,你也可以在調(diào)度中心管理頁面進(jìn)行手動配置。
如果需要使用accessToken,那么就需要在xxl-job-admin的配置文件里進(jìn)行配置對應(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)。
到此這篇關(guān)于springboot整合xxl-job的示例代碼的文章就介紹到這了,更多相關(guān)springboot整合xxl-job內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot整合 xxl-job及使用步驟
- springboot整合 xxl-job的項(xiàng)目實(shí)踐
- SpringBoot集成xxl-job實(shí)現(xiàn)超牛的定時任務(wù)的步驟詳解
- springboot整合xxl-job的實(shí)現(xiàn)示例
- xxl-job的部署及springboot集成使用示例詳解
- SpringBoot部署xxl-job方法詳細(xì)講解
- springboot整合xxl-job實(shí)現(xiàn)分布式定時任務(wù)的過程
- SpringBoot整合Xxl-job實(shí)現(xiàn)定時任務(wù)的全過程
- Springboot整合xxl-job實(shí)現(xiàn)動態(tài)傳參
相關(guān)文章
使用Java程序模擬實(shí)現(xiàn)新冠病毒傳染效果
這篇文章主要介紹了用Java程序模擬實(shí)現(xiàn)新冠病毒傳染效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08springmvc使用@notNull注解驗(yàn)證請求參數(shù)方式
這篇文章主要介紹了springmvc使用@notNull注解驗(yàn)證請求參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>2024-01-01mybatis-plus?執(zhí)行insert(),實(shí)體的id自動更新問題
這篇文章主要介紹了mybatis-plus?執(zhí)行insert(),實(shí)體的id自動更新問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12解決SpringBoot jar包中的文件讀取問題實(shí)現(xiàn)
這篇文章主要介紹了解決SpringBoot jar包中的文件讀取問題實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java?Excel?Poi字體顏色自定義設(shè)置代碼
最近項(xiàng)目使用POI按模板導(dǎo)出Excel,需要設(shè)置單元格的字體為紅色,下面這篇文章主要給大家介紹了關(guān)于Java?Excel?Poi字體顏色自定義設(shè)置的相關(guān)資料,需要的朋友可以參考下2024-01-01Springboot中配置Mail和普通mail的實(shí)現(xiàn)方式
這篇文章主要介紹了Springboot中配置Mail和普通mail的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03Java 使用IO流實(shí)現(xiàn)大文件的分割與合并實(shí)例詳解
這篇文章主要介紹了Java 使用IO流實(shí)現(xiàn)大文件的分割與合并實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12