xxj-job定时任务系统集成(springboot)

本文介绍了如何将XxlJob集成到个人的SpringBoot项目中,包括XXL-JOB工程的代码结构、原始项目启动步骤,以及个人项目集成过程。详细讲述了从导入数据库、修改配置、启动项目,到将XxlJob-admin和XxlJob-core集成到项目,再到创建和配置定时任务的整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.xxj-job工程介绍及原始项目启动

1.1 xxl-job代码及结构介绍

个人本次使用的是2.2.0的分支代码。
gitHub地址:https://github.com/xuxueli/xxl-job
在这里插入图片描述
xxl-job本身使用的springboot版本为2.0以上。核心部分包含一个父工程(xxl-job)和两个子工程(xxl-job-admin、xxl-job-core),其他部分(xxl-job-executor-samples)是各个示例工程代码,个人参考springboot版本的示例。
在这里插入图片描述

1.2 原始项目启动

(1) 在本地mysql,将下载的代码doc文件夹中的sql文件导入数据库;
(2) 将xxl-job以maven工程引入idea或eclipse;
(3) 修改xxl-job-admin的配置文件,配置好mysql数据库的访问地址及用户名密码,访问端口号可根据需要自行修改;
在这里插入图片描述
注:Mysql数据库5以下:com.mysql.jdbc.Driver
       Mysql数据库5以上:com.mysql.cj.jdbc.Driver
(4) 运行xxl-job-admin中的main函数,浏览器页面访问
http://localhost:8080/xxl-job-admin,打开登录页面,默认用户名密码admin/123456
在这里插入图片描述
在这里插入图片描述

2.个人项目集成xxl-job

个人项目为聚合工程,且使用springboot版本为2.2.6,当前方案是将两个子工程(xxl-job-admin、xxl-job-core)直接集成到原有的项目中。
在这里插入图片描述
(1)修改两个子工程(xxl-job-admin、xxl-job-core)的pom.xml文件,将parent部分修改为个人项目的父工程。
在这里插入图片描述
(2)修改父工程的pom.xml,增加两个子工程。
在这里插入图片描述
(3)修改完成后,重新引入了当前的聚合工程,启动测试了下xxl-job-admin可以正常登陆。
在这里插入图片描述
(4)下面将project-job工程加入定时任务中。
修改project-job工程的pom.xml文件,增加xxl-job的依赖。

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

==修改properties文件,增加xxl-job的配置 ==

### xxj-job-admin工程的访问地址,执行器将会使用该地址进行"执行器心跳注册""任务结果回调";为空则关闭自动注册;such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### 执行器通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 执行器的名称,执行器心跳注册分组依据;为空则关闭自动注册
xxl.job.executor.appname=project-job
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP
xxl.job.executor.ip=
##  执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.port=9999
### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxl.job.executor.logpath=/data/applogs/xxl-job/project-job
### 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则不生效;
xxl.job.executor.logretentiondays=30

(5)首先将原始代码xxl-job-executor-sample-springboot部分的XxlJobConfig.java文件复制到个人project-job工程中。
在这里插入图片描述
在这里插入图片描述
(6)project-job工程中新建定时任务类(参考原始代码xxl-job-executor-sample-springboot部分的SampleXxlJob.java)。
在这里插入图片描述
(7)启动project-job工程,可以看到项目中xxl-job部分已经成功启动。
在这里插入图片描述
(6)管理页面配置注册的定时任务,使用admin登录后点击"执行器管理"—“新建”,填写注册信息。
在这里插入图片描述
保存后,等待执行器注册成功,刷新页面可看到当前注册的机器ip
在这里插入图片描述
(7)点击"任务管理"创建定时任务。
在这里插入图片描述
执行器选择刚刚注册的执行器,"JobHandler"填写上面第六步代码中注解的部分。点击保存生效。点击操作选择执行一次测试定时任务。
在这里插入图片描述
查看控制台
在这里插入图片描述

在Spring Boot中集成xxl-job非常简单。你可以按照以下步骤进行操作: 1. 首先,将xxl-job的依赖添加到你的项目中。你可以在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency> ``` 2. 创建一个任务处理器类,该类需要继承`IJobHandler`。你可以参考以下示例代码创建一个名为`UserJob`的任务处理器类: ```java @Component @JobHandler(value = "userJobHandler") @Slf4j public class UserJob extends IJobHandler { @Override public ReturnT<String> execute(String s) { log.info("统计user开始》》》》》》》》"); XxlJobLogger.log(this.getClass().getSimpleName() + "--start"); return ReturnT.SUCCESS; } } ``` 3. 在该任务处理器类上添加`@Component`和`@JobHandler`注解。`@Component`用于将该类交给Spring容器管理,`@JobHandler`用于标识该类是一个任务处理器,其中的value属性表示任务的名称。 4. 在应用程序的配置文件(如`application.properties`或`application.yml`)中,添加xxl-job的相关配置,例如: ```properties xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin xxl.job.executor.appname=myapp xxl.job.executor.ip= xxl.job.executor.port=9999 xxl.job.accessToken= xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler xxl.job.executor.logretentiondays=-1 ``` 5. 在应用程序的入口类上添加`@EnableXxlJob`注解,该注解用于启用xxl-job的自动配置。 完成以上步骤后,你的Spring Boot应用程序就已经集成了xxl-job。你可以通过后台管理端来配置和管理你的定时任务了。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值