XXL-JOB之本地環境搭建

1、源碼下載

一、官網地址

登陸如下地址查看詳細搭建步驟: https://www.cnblogs.com/xuxueli/p/5021979.htmlhtml

二、下載源碼

根據1中打開的頁面,下載源碼,以下圖:java

2、初始化數據庫

一、解壓下載的源碼

二、初始化數據

mysql中新建xxl-job數據庫,並初始化解壓文件中的「xxl-job-2.0.1\doc\db\tables_xxl_job.sql」腳本,總共16張表mysql

 

3、編譯源碼

一、idea中導入源碼,並使用maven編譯

二、更改成maven項目

idea中項目結構以下:spring

 

 

4、調度中心配置

一、配置文件設置數據庫鏈接

打開文件地址: 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

 

 

5、部署項目

一、登陸

啓動項目,登陸地址:http://localhost:8080/xxl-job-admin  若「調度中心」配置成功,則以下圖:maven

 

6、保理雲配置「執行器管理」(如下步驟「保理雲」即本地項目)

一、配置文件

保理雲項目的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:執行地址端口,「執行器管理」頁面中的「機器地址」的端口

 

7、保理雲項目依賴及xxljob配置

一、配置依賴

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>

 

二、配置xxljob

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;
    }

}

3、複製XxlJobConfig.java

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 進行修改

8、保理雲新建jobHandle

1、新建TestJobHandler.java

fms.base.job下新建TestJobHandler.java類,路徑:
com.iss.base.job.impl.TestJobHandler.java
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值相同,以下圖

 

 

9、測試xxl-job調度平臺

一、啓動項目

啓動保理雲項目、啓動XxlJobAdminApplication

二、任務調度中「執行器管理」添加

 

 

三、任務調度中「任務管理」添加

 

 

四、測試

任務調度中「任務管理」頁面點擊「執行」按鈕,調用保理雲項目中標註有「@JobHandler(value="testJobHandler")」的類中的execute方法
相關文章
相關標籤/搜索