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可以看这篇文章:点我

相关推荐
直奔標竿3 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
吴爃4 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
a8a3025 小时前
Laravel8.x新特性全解析
java·spring boot·后端
白露与泡影5 小时前
Spring Boot 完整流程
java·spring boot·后端
小鲁蛋儿6 小时前
Dynamic + ShardingSphere整合
spring boot·shardingsphere·dynamic
北风toto6 小时前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
工作log6 小时前
Spring Boot 3.5 + MyBatis Plus + RabbitMQ:打造 AI 驱动的慢 SQL 监控与优化系统
spring boot·mybatis·java-rabbitmq
苍煜7 小时前
Java自定义注解-SpringBoot实战
java·开发语言·spring boot
计算机学姐7 小时前
基于微信小程序的校园失物招领管理系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·信息可视化·微信小程序·uni-app
直奔標竿8 小时前
Java开发者AI转型第二十课!Spring AI MCP 双向实战:客户端与服务端手把手落地
java·开发语言·人工智能·spring boot·后端·spring