Springboot 项目集成 xxl-job

1、前言

Springboot 集成 xxl-job 的前提是,xxl-job服务端已经部署完成。
使用 docker 安装 xxl-job 可以参考:docker安装xxl-job

2、引入pom依赖

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.4.0</version>
</dependency>

3、新建配置类XxlJobConfig

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Slf4j
@Configuration
public class XxlJobConfig {

    @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() {
        log.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;
    }
}

4、登录xxl-job-admin,新建执行器

在这里插入图片描述

4、在项目配置文件中,加入执行器配置

xxl:
  job:
  	# accessToken需要和服务端保持一致,服务端如果为空,则这里也配置为空
    accessToken: default_token
    executor:
      # 执行器名称,和服务端保持一致
      appname: java-dev
      # ip为空默认localhost
      ip:
      # 任务log保存路径和保存天数
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 15
      port: 9998
    # xxl-job-admin地址
    admin:
      addresses: http://localhost:8081/xxl-job-admin

5、在项目中,新建测试Job

@Slf4j
@Component
public class SyncFileLoadingStatusTask extends IJobHandler {

	@Override
    @XxlJob("syncFileLoadingStatusTask")
    public void execute() throws Exception {
    	log.info("同步文件解析状态 start...");
    	// 处理业务逻辑
    	// ....
	}
}

6、启动项目

在这里插入图片描述
出现以上日志,说明xxl-job客户端启动成功,并成功连接到服务端。
从xxl-job-admin也可以看到客户端节点:
在这里插入图片描述

7、在 xxl-job-admin 新增 job,并启动

新增Job:
在这里插入图片描述

启动、停止、查询日志:
在这里插入图片描述

8、查看执行情况

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值