????????????????????????????????? 分布式任務(wù)調(diào)度平臺(tái) X X L ? J O B 急速入門:從零開始將 X X L ? J O B 接入到自己的項(xiàng)目 \color{#FF1493}{分布式任務(wù)調(diào)度平臺(tái) XXL-JOB 急速入門:從零開始將 XXL-JOB 接入到自己的項(xiàng)目} 分布式任務(wù)調(diào)度平臺(tái)XXL?JOB急速入門:從零開始將XXL?JOB接入到自己的項(xiàng)目?? ?????????
?? 仰望天空,妳我亦是行人.?
?? 個(gè)人主頁——微風(fēng)撞見云的博客??
?? 《數(shù)據(jù)結(jié)構(gòu)與算法》專欄的文章圖文并茂??生動(dòng)形象??簡單易學(xué)!歡迎大家來踩踩~??
?? 《Java學(xué)習(xí)筆記》專欄的文章是本人在Java學(xué)習(xí)中總結(jié)的一些知識(shí)點(diǎn)~ ??
?? 《每天一點(diǎn)小知識(shí)》專欄的文章可以豐富你的知識(shí)庫,滴水成河~ ??
?? 《Redis》專欄的文章是在學(xué)習(xí)Redis時(shí),整理的筆記與記錄的思考~ ??
?? 《RabbitMQ》專欄的文章是在學(xué)習(xí)尚硅谷課程時(shí)整理的筆記,方便復(fù)習(xí)鞏固~ ??
?? 希望本文能夠給讀者帶來一定的幫助~??文章粗淺,敬請批評指正!??
??XXL-JOB急速入門:從零開始將XXL-JOB接入到自己的項(xiàng)目
1. XXL-JOB簡介
XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),用于解決大規(guī)模分布式任務(wù)調(diào)度問題。它基于Java語言開發(fā),提供了輕量級、易擴(kuò)展的任務(wù)調(diào)度和管理功能。XXL-JOB的設(shè)計(jì)目標(biāo)是使得任務(wù)調(diào)度變得更加簡單、高效和可靠,適用于各種任務(wù)調(diào)度場景。
??主要特點(diǎn)包括:
- 分布式:支持集群環(huán)境下的任務(wù)調(diào)度,可通過多個(gè)執(zhí)行器部署實(shí)現(xiàn)高可用和負(fù)載均衡。
- 調(diào)度中心:提供Web管理界面,方便管理任務(wù)、查看執(zhí)行日志和監(jiān)控任務(wù)狀態(tài)。
- 執(zhí)行器:負(fù)責(zé)執(zhí)行調(diào)度中心分派的任務(wù),支持任務(wù)執(zhí)行失敗重試和任務(wù)超時(shí)告警等功能。
2. XXL-JOB的作用
??XXL-JOB可以廣泛應(yīng)用于各種任務(wù)調(diào)度場景,特別適用于以下情況:
- 定時(shí)任務(wù):定時(shí)執(zhí)行一些重復(fù)性工作,如數(shù)據(jù)備份、日志清理等。
- 延時(shí)任務(wù):在指定時(shí)間點(diǎn)執(zhí)行任務(wù),如訂單超時(shí)處理、消息發(fā)送等。
- 流程任務(wù):按照一定的流程順序執(zhí)行任務(wù),如數(shù)據(jù)ETL處理、數(shù)據(jù)導(dǎo)入導(dǎo)出等。
XXL-JOB通過調(diào)度中心統(tǒng)一管理任務(wù),并將任務(wù)分派給執(zhí)行器執(zhí)行,可以讓任務(wù)調(diào)度變得更加靈活、高效和可控,有效提高任務(wù)處理能力和系統(tǒng)穩(wěn)定性。
3. XXL-JOB項(xiàng)目地址
??XXL-JOB的開源項(xiàng)目地址:
- GitHub:https://github.com/xuxueli/xxl-job
- Gitee:https://gitee.com/xuxueli0323/xxl-job
我們可以在這里找到詳細(xì)的文檔、示例和最新版本的XXL-JOB。
4. 如何使用XXL-JOB
步驟1:下載和部署XXL-JOB調(diào)度中心
??首先,我們需要下載XXL-JOB調(diào)度中心的代碼并進(jìn)行部署,可以通過以下步驟來完成:
- 克隆或下載XXL-JOB調(diào)度中心的代碼:https://gitee.com/xuxueli0323/xxl-job
- 使用IDEA打開項(xiàng)目,等待依賴的加載。
- 將
doc/db
目錄下的sql文件在自己的數(shù)據(jù)庫中執(zhí)行,得到相應(yīng)的庫表。
- 找到
xxl-job-admin
目錄,修改application.properties
文件,配置數(shù)據(jù)庫連接等相關(guān)配置。
- 運(yùn)行
XxlJobAdminApplication
類,啟動(dòng)調(diào)度中心。
- 訪問 http://localhost:8080/xxl-job-admin ,默認(rèn)賬戶
admin
,密碼123456
。
- Web界面加載成功,接下來進(jìn)入第二步。
步驟2:創(chuàng)建任務(wù)
??接下來我們將創(chuàng)建一個(gè)簡單的定時(shí)任務(wù) ↓
- 找到
xxl-job-executor-sample-springboot
模塊下的SampleXxlJob
,層級略多,不要找錯(cuò)了,修改實(shí)例中的代碼,我們簡單打印一句話即可。
-
還是這個(gè)模塊,啟動(dòng)該模塊的主啟動(dòng)類
XxlJobExecutorApplication
。
- 回到Web界面,找到左側(cè)的
任務(wù)管理
,點(diǎn)擊右側(cè)綠色的新增
按鈕。
- 如圖所示輸入信息,由于我們的定時(shí)任務(wù)是
BEAN
模式,所以我們也選擇BEAN,值得一提的是:這里有個(gè)Cron
表達(dá)式,可能很多同學(xué)第一次使用不清楚,沒關(guān)系,點(diǎn)擊右側(cè)按鈕
,我們可以在里面選擇需要的模式,這里選擇的從0秒開始,每2秒執(zhí)行一次,選擇之后,在下方會(huì)展示出該種選擇對應(yīng)的結(jié)果
,十分照顧新人。
- 選擇好之后點(diǎn)擊保存,點(diǎn)擊操作,點(diǎn)擊啟動(dòng),啟動(dòng)成功。
- 回到我們項(xiàng)目中,可以發(fā)現(xiàn),每間隔2秒,控制臺(tái)會(huì)打印對應(yīng)的語句,nice,大功告成!
- 假如我們不想讓它執(zhí)行了,回到頁面點(diǎn)擊
停止
,發(fā)現(xiàn)控制臺(tái)中的光標(biāo)不再移動(dòng),任務(wù)結(jié)束。
- 我們還可以在左側(cè)的
調(diào)度日志
中查看對應(yīng)的執(zhí)行記錄,包括調(diào)度時(shí)間、調(diào)度結(jié)果
等等,是不是很方便!
5. 如何把XXL-JOB接入到自己的項(xiàng)目中
??在實(shí)際項(xiàng)目中,我們可能需要將XXL-JOB集成到自己的項(xiàng)目中,實(shí)現(xiàn)對任務(wù)的更細(xì)粒度控制和定制。
步驟1:引入XXL-JOB依賴
??在項(xiàng)目中引入XXL-JOB的相關(guān)Maven依賴:
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
步驟2:引入配置
??我們把剛才 xxl-job-executor-sample-springboot 中的 XxlJobConfig
和 application.properties
引入到自己的項(xiàng)目中。復(fù)制即可
步驟3:創(chuàng)建任務(wù)執(zhí)行類
??在中創(chuàng)建一個(gè)任務(wù)執(zhí)行類,同樣編寫一個(gè)demo定時(shí)任務(wù)。直接copy過來
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;
@Component
public class DemoJobHandler {
/**
* 1、簡單任務(wù)示例(Bean模式)
*/
@XxlJob("demoJobHandler")
public void demoJobHandler() throws Exception {
System.out.println("hello,XXL-JOB!!!");
}
}
步驟3:運(yùn)行主啟動(dòng)類
??啟動(dòng)后,我們可以觀察控制臺(tái)的信息,提示SUCCESS
??啟動(dòng)完成后,發(fā)現(xiàn)定時(shí)任務(wù)執(zhí)行成功!之后就可以自行拓展了! 完結(jié)撒花??????~
6. 總結(jié)
通過本文,我們對XXL-JOB進(jìn)行了簡要介紹,了解了它的作用和特點(diǎn),我們從零開始,一步一步地將XXL-JOB接入到自己的項(xiàng)目中。通過XXL-JOB,我們可以更加靈活、高效地管理和調(diào)度任務(wù),提高系統(tǒng)的任務(wù)處理能力和穩(wěn)定性。
??希望本文能夠幫助你理解和使用XXL-JOB,預(yù)祝任務(wù)調(diào)度之路越來越順利!
??結(jié)語
??初學(xué)一門技術(shù)時(shí),總有些許的疑惑,別怕,它們是我們學(xué)習(xí)路上的點(diǎn)點(diǎn)繁星,幫助我們不斷成長。文章來源:http://www.zghlxwxcb.cn/news/detail-628919.html
??積少成多,滴水成河。文章粗淺,希望對大家有幫助!文章來源地址http://www.zghlxwxcb.cn/news/detail-628919.html
到了這里,關(guān)于【分布式任務(wù)調(diào)度平臺(tái) XXL-JOB 急速入門】從零開始將 XXL-JOB 接入到自己的項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!