Spring boot接入xxl-job

Spring boot接入xxl-job

导入maven包

xml 复制代码
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.3.0</version>
        </dependency>

加入配置

shell 复制代码
#xxl-job部署的地址,如果是集群部署存在多个地址则用逗号分隔。
xxl.job.admin.addresses=http://172.31.128.102:8333/xxl-job-admin
#执行器通讯TOKEN(跟xxl-job服务的配置保持一致)
xxl.job.accessToken=default_token
#执行器AppName(xxl-job控制台中配置的执行器名字)
xxl.job.executor.appname=time-update-handler
#执行器注册:优先使用该配置作为注册地址,为空时使用内嵌服务 "IP:PORT" 作为注册地址。
xxl.job.executor.address=
#执行器IP:默认为空表示自动获取IP
xxl.job.executor.ip=
#执行器端口号:小于等于0则自动获取,默认端口为9999。(用于接收调度中心发送过来的任务调度请求,并将任务执行的结果返回给调度中心)
xxl.job.executor.port=8334
#执行器运行日志文件存储磁盘路径,为空则使用默认路径;
xxl.job.executor.logpath=
#执行器日志文件保存天数: 过期日志自动清理, 限制值大于等于3时生效;-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=15

增加配置类

java 复制代码
@Configuration
public class XxlJobConfig {

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;
    @Value("${xxl.job.accessToken}")
    private String accessToken;
    @Value("${xxl.job.executor.appname}")
    private String appname;
    @Value("${xxl.job.executor.address}")
    private String address;
    @Value("${xxl.job.executor.ip}")
    private String ip;
    @Value("${xxl.job.executor.port}")
    private int port;
    @Value("${xxl.job.executor.logpath}")
    private String logPath;
    @Value("${xxl.job.executor.logretentiondays}")
    private int logRetentionDays;

    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appname);
        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

        return xxlJobSpringExecutor;
    }
}

创建执行器类(写job的业务逻辑)

java 复制代码
@Slf4j
@Component
public class TimeJob {

    /**
     * 示例
     */
    @XxlJob("timeUpdateJob")
    public void clockInJobHandler() {
        //todo 在这里写具体的业务代码
    }
}

去控制台中配置job

1.先配置执行器

2.再配置任务

3.启动job

到这里就完成了!

如果想在linux上安装xxl-job可以看这篇文章:点我

相关推荐
congvee3 分钟前
springboot 学习第1期 - 创建工程
spring boot
风流 少年1 小时前
Cursor创建Spring Boot项目
java·spring boot·后端
毕设源码_钟学姐1 小时前
计算机毕业设计springboot宿舍管理信息系统 基于Spring Boot的高校宿舍管理平台设计与实现 Spring Boot框架下的宿舍管理系统开发
spring boot·后端·课程设计
军军君011 小时前
基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建
前端·javascript·spring boot·spring·微信小程序·前端框架·集成学习
全栈凯哥2 小时前
16.Spring Boot 国际化完全指南
java·spring boot·后端
后端小肥肠5 小时前
效率革命!10分钟用Dify+Spring Boot打造AI热点雷达,自媒体选赛道再不难!(附保姆级教程)
人工智能·spring boot·agent
Linn5 小时前
Spring WebSocket 服务实现的主流方案与最佳实践
spring boot·后端·spring
我是老孙6 小时前
Spring Boot 应用中,配置的加载优先级
spring boot·后端·pycharm
风象南6 小时前
基于 SpringBoot 的 REST API 与 RPC 调用的统一封装
java·spring boot·后端
weixin_456904278 小时前
Spring Boot整合MyBatis+MySQL+Redis单表CRUD教程
spring boot·mysql·mybatis