分布式任務調度平台XXL-Job搭建


下載: 

https://github.com/xuxueli/xxl-job

下載 然后倒入到自己的工程里面

引入后:

 導入數據:跑一邊

 

 導入:

 

修改:

 

Window -->show view-->other-->Servers

 

把admin引入 

方法:

  右鍵:

點擊add and remove 即可

啟動 XXL-Job admin平台:

 

 

 

 訪問:http://localhost:8080/xxl-job-admin/

 

 

 

 

下面客戶端的demo (Spring boot 的 對接到Admin平台)

 

上面項目中整合XXL-Job 類繼承 IJobHandler類。然后通過注解 注冊到XXL-Job admin 容器中去  對接到平台上去  value是注冊上去的名稱

 

下面: 

 ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
 xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin  ## 這是admin的地址

### xxl-job executor address
xxl.job.executor.appname=toov5-job    #執行器的名字 起了個名字

 

 

  

 

 

下面分別是 spring boot的 job服務別名 地址集合

 

 

 

 

點擊保存 

 

 

啟動執行器:

 

 

啟動執行器后,會將服務器本地信息注冊到admin平台。信息包括: 是否存活   定義的注解Value的值  (在先新建任務里面都會有記錄了,下面的操作中可以選擇的)

 

 

 然后去任務管理李: 新建任務

 

 

 

 添加相關信息后,保存。任務就開始根據預定的時間規則去運行了

 

可以查看日志:

 

 

 

 

 

分析原理:

 在XXL-JOB觸發規則,查詢對應執行器(實際定時Job執行地址),然后再使用XXL-JOB發送請求到實際的定時JOB任務地址去執行。使用demoJobHandler名稱查找對應jvm服務器上JobHandler容器。

獲取到類的信息,反射進行執行。使用demoJobHandler名稱查找對應的jvm服務器上@JobHandler容器獲取到類的信息,再使用反射機制執行

 

注解底層實現:

@JobHandler(value = "demoJobHandler")   //job 注冊到容器中的名稱   下面的方法是執行的定時job  底層實現 value  demoJobHandler 名稱  對應存放類的class地址。然后反射獲取方法執行之

 

 原理:

 搭建xxl-job平台 ,然后創建執行器。netty會幫助創建服務端口號。執行器啟動時候,會把服務信息注冊到xxl-job平台。

 創建執行器(實際任務地址)

 然后任務管理 新增任務   jobhandler   Corn表達式  

 首先在xxl-job平台出發job 然后獲取執行地址  

 

 

 

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM