XXL-JOB之本地环境搭建

一、源码下载

1、官网地址

登录以下地址查看详细搭建步骤: https://www.cnblogs.com/xuxueli/p/5021979.html

2、下载源码

根据1中打开的页面,下载源码,如下图:

二、初始化数据库

1、解压下载的源码

2、初始化数据

mysql中新建xxl-job数据库,并初始化解压文件中的“xxl-job-2.0.1\doc\db\tables_xxl_job.sql”脚本,总共16张表

三、编译源码

1、idea中导入源码,并使用maven编译

2、更改为maven项目

idea中项目结构如下:

四、调度中心配置

1、配置文件设置数据库连接

打开文件地址: xxl-job-2.0.1\xxl-job-admin\src\main\resources\application.properties

设置数据库连接,连接新建的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.Driver

 

2、调度中心登录账号

如下图:

五、部署项目

1、登录

启动项目,登录地址:http://localhost:8080/xxl-job-admin  若“调度中心”配置成功,则如下图:

 

六、保理云配置“执行器管理”(以下步骤“保理云”即本地项目)

1、配置文件

保理云项目的application.properties文件中配置内容,如下图和代码:

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

2、说明

xxl.job.admin.addresses:“部署项目”中的登录地址

 xxl.job.executor.appname:“执行器管理”页面中的AppName

xxl.job.executor.ip:执行地址,“执行器管理”页面中的“机器地址”的ip

xxl.job.executor.port:执行地址端口,“执行器管理”页面中的“机器地址”的端口

 

七、保理云项目依赖及xxljob配置

1、配置依赖

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>

2、配置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 进行修改

八、保理云新建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;
   }

}


2、说明

1中TestJobHandler.java中的@JobHandler的value与“任务管理器”页面中的JobHandler值相同,如下图

 

九、测试xxl-job调度平台

1、启动项目

启动保理云项目、启动XxlJobAdminApplication

2、任务调度中“执行器管理”添加

3、任务调度中“任务管理”添加

4、测试

任务调度中“任务管理”页面点击“执行”按钮,调用保理云项目中标注有“@JobHandler(value="testJobHandler")”的类中的execute方法

猜你喜欢

转载自www.cnblogs.com/alanpo1120/p/10702878.html
今日推荐