💧 分布式任务调度平台 X X L − J O B 急速入门:从零开始将 X X L − J O B 接入到自己的项目 \color{#FF1493}{分布式任务调度平台 XXL-JOB 急速入门:从零开始将 XXL-JOB 接入到自己的项目} 分布式任务调度平台XXL−JOB急速入门:从零开始将XXL−JOB接入到自己的项目💧
🌷 仰望天空,妳我亦是行人.✨
🦄 个人主页——微风撞见云的博客🎐
🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
💧 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 💐
🥣 《每天一点小知识》专栏的文章可以丰富你的知识库,滴水成河~ 🌊
🎐 《Redis》专栏的文章是在学习Redis时,整理的笔记与记录的思考~ 🥏
🥕 《RabbitMQ》专栏的文章是在学习尚硅谷课程时整理的笔记,方便复习巩固~ 🍑
🪁 希望本文能够给读者带来一定的帮助~🌸文章粗浅,敬请批评指正!🐥
文章目录
- 🐳XXL-JOB急速入门:从零开始将XXL-JOB接入到自己的项目
- 1. XXL-JOB简介
- 2. XXL-JOB的作用
- 3. XXL-JOB项目地址
- 4. 如何使用XXL-JOB
- 步骤1:下载和部署XXL-JOB调度中心
- 步骤2:创建任务
- 5. 如何把XXL-JOB接入到自己的项目中
- 步骤1:引入XXL-JOB依赖
- 步骤2:引入配置
- 步骤3:创建任务执行类
- 步骤3:运行主启动类
- 6. 总结
- 🐳结语
🐳XXL-JOB急速入门:从零开始将XXL-JOB接入到自己的项目
1. XXL-JOB简介
XXL-JOB是一个分布式任务调度平台,用于解决大规模分布式任务调度问题。它基于Java语言开发,提供了轻量级、易扩展的任务调度和管理功能。XXL-JOB的设计目标是使得任务调度变得更加简单、高效和可靠,适用于各种任务调度场景。
💧主要特点包括:
- 分布式:支持集群环境下的任务调度,可通过多个执行器部署实现高可用和负载均衡。
- 调度中心:提供Web管理界面,方便管理任务、查看执行日志和监控任务状态。
- 执行器:负责执行调度中心分派的任务,支持任务执行失败重试和任务超时告警等功能。
2. XXL-JOB的作用
💧XXL-JOB可以广泛应用于各种任务调度场景,特别适用于以下情况:
- 定时任务:定时执行一些重复性工作,如数据备份、日志清理等。
- 延时任务:在指定时间点执行任务,如订单超时处理、消息发送等。
- 流程任务:按照一定的流程顺序执行任务,如数据ETL处理、数据导入导出等。
XXL-JOB通过调度中心统一管理任务,并将任务分派给执行器执行,可以让任务调度变得更加灵活、高效和可控,有效提高任务处理能力和系统稳定性。
3. XXL-JOB项目地址
💧XXL-JOB的开源项目地址:
- GitHub:https://github.com/xuxueli/xxl-job
- Gitee:https://gitee.com/xuxueli0323/xxl-job
我们可以在这里找到详细的文档、示例和最新版本的XXL-JOB。
4. 如何使用XXL-JOB
步骤1:下载和部署XXL-JOB调度中心
💧首先,我们需要下载XXL-JOB调度中心的代码并进行部署,可以通过以下步骤来完成:
- 克隆或下载XXL-JOB调度中心的代码:https://gitee.com/xuxueli0323/xxl-job
- 使用IDEA打开项目,等待依赖的加载。
- 将
doc/db
目录下的sql文件在自己的数据库中执行,得到相应的库表。
- 找到
xxl-job-admin
目录,修改application.properties
文件,配置数据库连接等相关配置。
- 运行
XxlJobAdminApplication
类,启动调度中心。
- 访问 http://localhost:8080/xxl-job-admin ,默认账户
admin
,密码123456
。
- Web界面加载成功,接下来进入第二步。
步骤2:创建任务
💧接下来我们将创建一个简单的定时任务 ↓
- 找到
xxl-job-executor-sample-springboot
模块下的SampleXxlJob
,层级略多,不要找错了,修改实例中的代码,我们简单打印一句话即可。
- 还是这个模块,启动该模块的主启动类
XxlJobExecutorApplication
。
- 回到Web界面,找到左侧的
任务管理
,点击右侧绿色的新增
按钮。
- 如图所示输入信息,由于我们的定时任务是
BEAN
模式,所以我们也选择BEAN,值得一提的是:这里有个Cron
表达式,可能很多同学第一次使用不清楚,没关系,点击右侧按钮
,我们可以在里面选择需要的模式,这里选择的从0秒开始,每2秒执行一次,选择之后,在下方会展示出该种选择对应的结果
,十分照顾新人。
- 选择好之后点击保存,点击操作,点击启动,启动成功。
- 回到我们项目中,可以发现,每间隔2秒,控制台会打印对应的语句,nice,大功告成!
- 假如我们不想让它执行了,回到页面点击
停止
,发现控制台中的光标不再移动,任务结束。
- 我们还可以在左侧的
调度日志
中查看对应的执行记录,包括调度时间、调度结果
等等,是不是很方便!
5. 如何把XXL-JOB接入到自己的项目中
💧在实际项目中,我们可能需要将XXL-JOB集成到自己的项目中,实现对任务的更细粒度控制和定制。
步骤1:引入XXL-JOB依赖
💧在项目中引入XXL-JOB的相关Maven依赖:
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
步骤2:引入配置
💧我们把刚才 xxl-job-executor-sample-springboot 中的 XxlJobConfig
和 application.properties
引入到自己的项目中。复制即可
步骤3:创建任务执行类
💧在中创建一个任务执行类,同样编写一个demo定时任务。直接copy过来
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;
@Component
public class DemoJobHandler {
/**
* 1、简单任务示例(Bean模式)
*/
@XxlJob("demoJobHandler")
public void demoJobHandler() throws Exception {
System.out.println("hello,XXL-JOB!!!");
}
}
步骤3:运行主启动类
💧启动后,我们可以观察控制台的信息,提示SUCCESS
💧启动完成后,发现定时任务执行成功!之后就可以自行拓展了! 完结撒花🌸🌸🌸~
6. 总结
通过本文,我们对XXL-JOB进行了简要介绍,了解了它的作用和特点,我们从零开始,一步一步地将XXL-JOB接入到自己的项目中。通过XXL-JOB,我们可以更加灵活、高效地管理和调度任务,提高系统的任务处理能力和稳定性。
💧希望本文能够帮助你理解和使用XXL-JOB,预祝任务调度之路越来越顺利!
🐳结语
🐬初学一门技术时,总有些许的疑惑,别怕,它们是我们学习路上的点点繁星,帮助我们不断成长。
🐟积少成多,滴水成河。文章粗浅,希望对大家有帮助!