转自:https://www.icode9.com/content-4-632031.html

     XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

     首先下载github源码:https://github.com/xuxueli/xxl-job

     本文以2.2.0-SNAPSHOT开发测,如果需要下载对应版本:https://github.com/itwsj/xxl-job

     代码目录结构:

Springboot项目整合xxl -job

将doc目录下的db文件夹中的数据库脚本在mysql数据库中执行,生成xxl相应的一些基础表。

Springboot项目整合xxl -job

修改xxl-job-admin下的application.properties文件,将数据库链接改成自己的数据库对应的url,最重要的是要指定服务端口以及上下文的名称。

Springboot项目整合xxl -job

 

 然后配置mysql链接和对应驱动,圈住的地方需要加上,要不然会报错时间区域和驱动链接错误

serverTimezone=UTCcom.mysql.cj.jdbc.Driver

Springboot项目整合xxl -job

然后启动项目,也可以将项目打包成jar文件。

访问后台管理页面

输入地址:localhost:8080/job 用户名:admin 密码 123456

Springboot项目整合xxl -job

 

 

(1)在pom.xml引入xxl-job的依赖

 <!-- xxl-job-core -->
   <dependency>
        <groupId>com.xuxueli</groupId>
        <artifactId>xxl-job-core</artifactId>
        <version>2.2.0-SNAPSHOT</version>
   </dependency>

(2)在application.yml/application.properties中配置相关信息

1、配置后台管理端地址
2、appname值非常重要,配置执行器需要和这个保持一直

Springboot项目整合xxl -job

 

# web port
server.port=8081

# log config
logging.config=classpath:logback.xml


### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8080/job

### xxl-job executor address
xxl.job.executor.appname=myapp
xxl.job.executor.ip=
xxl.job.executor.port=9999

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

### xxl-job log path
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### xxl-job log retention days
xxl.job.executor.logretentiondays=30

编写配置类:

package com.xxl.job.executor.core.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.Configuration;

/**
 * xxl-job config
 */
@Configuration
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
    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

相关文章:

  • 2022-12-23
  • 2022-02-03
  • 2021-07-14
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-16
  • 2022-02-17
  • 2021-09-16
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
相关资源
相似解决方案