xxl-job基本使用

前文

首先要知道它的官網
http://www.xuxueli.com/xxl-job/#/
首頁幾個大字介紹的簡單明瞭:
輕量級分佈式任務調度平臺
開發迅速、學習簡單、輕量級、易擴展

然後是詳細的官方文檔位置,全中文喔~
http://www.xuxueli.com/xxl-job/#/?id=%e3%80%8a%e5%88%86%e5%b8%83%e5%bc%8f%e4%bb%bb%e5%8a%a1%e8%b0%83%e5%ba%a6%e5%b9%b3%e5%8f%b0xxl-job%e3%80%8b

開始正題:

github下載它的內容
在這裏插入圖片描述
其中xxl-job-admin 是調度中心,這是一個spring|springboot 項目
配置文件在application.properties 配置說明
###調度中心JDBC鏈接:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

###報警郵箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
[email protected]
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

###xxl-job, access token
xxl.job.accessToken=

###xxl-job, i18n (default empty as chinese, “en” as english)
xxl.job.i18n=
其中數據庫需要提前創建好 在doc目錄下 有一個在這裏插入圖片描述
需要提前運行sql 初始化數據庫

啓動成功之後 調度中心訪問地址:http://localhost:8080/xxl-job-admin (該地址執行器將會使用到,作爲回調地址)
默認用戶名密碼admin / 123456
在這裏插入圖片描述
不同版本會略有不同。

然後是第二個在這裏插入圖片描述
這個是核心包。首次下載 需要運行maven命令 讓本地倉庫生成jar包 maven clean install

重點來了!!!調度中心和執行器項目(也就是第三個) maven依賴的core 版本儘量保持一致,否則會出現 註冊任務不成功的問題。

第三個
在這裏插入圖片描述
這個是執行器項目 裏面有多個版本 選擇你需要的即可在這裏插入圖片描述
執行器配置,配置內容說明:

###調度中心部署跟地址 [選填]:如調度中心集羣部署存在多個地址則用逗號分隔。執行器將會使用該地址進行"執行器心跳註冊"和"任務結果回調";爲空則關閉自動註冊;
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin

###執行器AppName [選填]:執行器心跳註冊分組依據;爲空則關閉自動註冊
xxl.job.executor.appname=xxl-job-executor-sample

###執行器IP [選填]:默認爲空表示自動獲取IP,多網卡時可手動設置指定IP,該IP不會綁定Host僅作爲通訊實用;地址信息用於 “執行器註冊” 和 “調度中心請求並觸發任務”;
xxl.job.executor.ip=

###執行器端口號 [選填]:小於等於0則自動獲取;默認端口爲9999,單機部署多個執行器時,注意要配置不同執行器端口;
xxl.job.executor.port=9999

###執行器通訊TOKEN [選填]:非空時啓用;
xxl.job.accessToken=

###執行器運行日誌文件存儲磁盤路徑 [選填] :需要對該路徑擁有讀寫權限;爲空則使用默認路徑;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler

###執行器日誌保存天數 [選填] :值大於3時生效,啓用執行器Log文件定期清理功能,否則不生效;
xxl.job.executor.logretentiondays=-1

項目中有個配置類用來讀取配置文件的相關配置
XxlJobConfig.java
@Bean(initMethod = “start”, destroyMethod = “destroy”)
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
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;
}

配置任務類
package com.xxl.job.executor.service.jobhandler;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**

  • 任務Handler示例(Bean模式)

  • 開發步驟:

  • 1、繼承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;

  • 2、註冊到Spring容器:添加“@Component”註解,被Spring容器掃描爲Bean實例;

  • 3、註冊到執行器工廠:添加“@JobHandler(value=“自定義jobhandler名稱”)”註解,註解value值對應的是調度中心新建任務的JobHandler屬性的值。

  • 4、執行日誌:需要通過 “XxlJobLogger.log” 打印執行日誌;
    */
    @JobHandler(value=“demoJobHandler”)
    @Component
    public class DemoJobHandler extends IJobHandler {

    @Override
    public ReturnT execute(String param) throws Exception {
    XxlJobLogger.log(“XXL-JOB, Hello World.”);

     for (int i = 0; i < 5; i++) {
     	XxlJobLogger.log("beat at:" + i);
     	TimeUnit.SECONDS.sleep(2);
     }
     return SUCCESS;
    

    }

}

啓動項目:如果顯示xxl-job 註冊成功 說明基本配置已成功

其餘手動創建任務並且使用的就不想說了 很簡單 注意一兩個配置即可
用API調用 雪裏大神也提到過 在調度中心項目中 有一個AdminBizTest 這裏大概有api調用的方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章