下載:
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 然后獲取執行地址
