登陸如下地址查看詳細搭建步驟: https://www.cnblogs.com/xuxueli/p/5021979.htmlhtml
根據1中打開的頁面,下載源碼,以下圖:java
mysql中新建xxl-job數據庫,並初始化解壓文件中的「xxl-job-2.0.1\doc\db\tables_xxl_job.sql」腳本,總共16張表mysql
idea中項目結構以下:spring
打開文件地址: xxl-job-2.0.1\xxl-job-admin\src\main\resources\application.propertiessql
設置數據庫鏈接,鏈接新建的xxl-job數據庫,以下圖:數據庫
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://10.193.129.84:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1qaz2wsx
spring.datasource.driver-class-name=com.mysql.jdbc.Driverspringboot
以下圖:app
啓動項目,登陸地址:http://localhost:8080/xxl-job-admin 若「調度中心」配置成功,則以下圖:maven
保理雲項目的application.properties文件中配置內容,以下圖和代碼:ide
xxl.job.admin.addresses=http://10.28.71.59:8080/xxl-job-admin
xxl.job.executor.appname=springboot
xxl.job.executor.ip=10.28.71.59
xxl.job.executor.port=9999
xxl.job.accessToken=
xxl.job.executor.logpath=d:/tmp
xxl.job.executor.logretentiondays=1
xxl.job.admin.addresses:「部署項目」中的登陸地址
xxl.job.executor.appname:「執行器管理」頁面中的AppName
xxl.job.executor.ip:執行地址,「執行器管理」頁面中的「機器地址」的ip
xxl.job.executor.port:執行地址端口,「執行器管理」頁面中的「機器地址」的端口
在fms.base.job下的pom.xml中添加xxl-job-core的依賴
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.0.1</version>
</dependency>
在fms.base.job下新建XxlJobConfig.java類,路徑:com.iss.base.job.config.XxlJobConfig.java
package com.iss.base.job.config;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* xxl-job config
*
* @author xuxueli 2017-04-28
*/
@Configuration
@ComponentScan(basePackages = "com.iss.base.job.impl")//掃描job包的路徑
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@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(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;
}
}
2步驟不用新建,也能夠進行以下設置:複製
xxl-job-2.0.1\xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com\xxl\job\executor\core\config\XxlJobConfig.java 進行修改
在fms.base.job下新建TestJobHandler.java類,路徑:
com.iss.base.job.impl.TestJobHandler.java
![](http://static.javashuo.com/static/loading.gif)
package com.iss.base.job.impl;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
/**
* <p>Project: com.base <p>
* <p>Module: enterprise.base.job <p>
* <p>Description: 自動任務調度測試類<p>
* <p>Date: 2018-09-14<p>
* @author DELL
* @version 1.0
*/
@JobHandler(value="testJobHandler")
@Service
public class TestJobHandler extends IJobHandler{
private static Logger LOGGER = LoggerFactory.getLogger(TestJobHandler.class);
@Override
public ReturnT<String> execute(String param) throws Exception {
LOGGER.info("---------------執行了--------------------");
return ReturnT.SUCCESS;
}
}
1中TestJobHandler.java中的@JobHandler的value與「任務管理器」頁面中的JobHandler值相同,以下圖
啓動保理雲項目、啓動XxlJobAdminApplication
任務調度中「任務管理」頁面點擊「執行」按鈕,調用保理雲項目中標註有「@JobHandler(value="testJobHandler")」的類中的execute方法