XXL-JOB集成到Springboot项目中的使用

首先访问其官网有详细教程,下面只是我的一些总结和遇到的坑

https://www.xuxueli.com/xxl-job/

主要步骤

1、环境配置

  • Maven3+
  • Jdk1.8+
  • Mysql5.7+

2、下载源码、解压

3、在源码的

/xxl-job/doc/db/tables_xxl_job.sql

路径下,找到调度数据库初始化SQL脚本并执行

4、解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可,源码结构如下:

xxl-job-admin:调度中心

xxl-job-core:公共依赖

xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)

xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;

xxl-job-executor-sample-frameless:无框架版本;

5、配置部署“调度中心”

调度中心项目:xxl-job-admin

作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。

这里主要注意的问题就是配置问题

看官方文档就可以解决大部分,在这里遇到一个问题邮件发送不出去

有两个配置需要注意(以qq邮箱发送告警邮件)

spring.mail.port=25 阿里云服务器不能使用25端口,可能是被禁用了,我这里换成465端口就可以spring.mail.password=******* 这里的密码并非邮箱密码而是qq邮箱的授权码,具体操作百度一下

6、打包部署,调度中心访问地址 http://localhost:8080/xxl-job-admin

默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

至此“调度中心”项目已经部署成功。

7、配置部署“执行器项目”

我这里是将执行器集成到现有Springboot业务项目中

a、在项目pom文件中引入了 “xxl-job-core” 的maven依赖;

<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->

<dependency>

<groupId>com.xuxueli</groupId>

<artifactId>xxl-job-core</artifactId>

<version>2.30.</version>

</dependency>

b、执行器配置

将改地址下的配置文件里面相关的配置复制到自己项目的配置文件里面

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties

这里要注意下面这个配置

### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;

xxl.job.executor.port=9999

d、将所需要的文件集成到自己的项目里,如下图

然后将自己以前的定时任务注释掉,添加

@XxlJob("XXXJobHandler")注释,注意这里的XXXJobHandler,要和后面调度中心里面的配置一致

将项目中的定时任务都修改完之后,打包部署即可

这里都是基于Bean模式任务,支持基于方法的开发方式,每个任务对应一个方法。

  • 优点:
    • 每个任务只需要开发一个方法,并添加”@XxlJob”注解即可,更加方便、快速。
    • 支持自动扫描任务并注入到执行器容器。

8、回到任务调度中心页面新建任务

这里新增执行器建议手动录入,自动注册可能存在断开连接的问题

新增任务注意以下几个地方,然后启动执行就可以了,这里可添加邮件告警,也可以自己重写其他告警接口,如短信告警、钉钉告警等。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot项目引入xxl-job,你需要执行以下步骤: 1. 在项目的pom.xml文件添加xxl-job的依赖: ```xml <dependency> <groupId>com.xxl-job</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency> ``` 2. 在Spring Boot的配置文件(例如application.properties或application.yml)配置xxl-job相关属性,包括调度心地址、执行器配置等。以下是一个示例的application.properties配置: ```properties # 调度心地址 xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin # 执行器配置 xxl.job.executor.appname=my-executor xxl.job.executor.ip= xxl.job.executor.port=9999 xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler xxl.job.executor.logretentiondays=7 ``` 3. 创建一个继承自`com.xxl.job.core.handler.IJobHandler`的任务Handler类,并实现其execute方法,用于定义具体的任务逻辑。例如: ```java @Component public class MyJobHandler extends IJobHandler { @Override public ReturnT<String> execute(String param) throws Exception { // 任务逻辑代码 System.out.println("Hello, xxl-job!"); return ReturnT.SUCCESS; } } ``` 4. 启动Spring Boot应用程序,在调度心配置任务并启动触发器。你应该能够在xxl-job的调度心看到你的任务,并可以通过触发器手动或按计划执行它。 请注意,以上步骤是一个简单的示例,你可以根据实际需求进行更详细的配置和定制。详细的xxl-job配置和使用方法可以参考xxl-job官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值