【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目

本文主要是介绍【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

                               💧 分布式任务调度平台 X X L − J O B 急速入门:从零开始将 X X L − J O B 接入到自己的项目 \color{#FF1493}{分布式任务调度平台 XXL-JOB 急速入门:从零开始将 XXL-JOB 接入到自己的项目} 分布式任务调度平台XXLJOB急速入门:从零开始将XXLJOB接入到自己的项目💧          


🌷 仰望天空,妳我亦是行人.✨
🦄 个人主页——微风撞见云的博客🎐
🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
💧 《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调度中心的代码并进行部署,可以通过以下步骤来完成:

  1. 克隆或下载XXL-JOB调度中心的代码:https://gitee.com/xuxueli0323/xxl-job

在这里插入图片描述

  1. 使用IDEA打开项目,等待依赖的加载。

在这里插入图片描述

  1. doc/db 目录下的sql文件在自己的数据库中执行,得到相应的库表。

在这里插入图片描述

在这里插入图片描述

  1. 找到xxl-job-admin目录,修改application.properties文件,配置数据库连接等相关配置。

在这里插入图片描述

  1. 运行XxlJobAdminApplication类,启动调度中心。

在这里插入图片描述

  1. 访问 http://localhost:8080/xxl-job-admin ,默认账户admin,密码123456

在这里插入图片描述

  1. Web界面加载成功,接下来进入第二步。

在这里插入图片描述

步骤2:创建任务

💧接下来我们将创建一个简单的定时任务 ↓

  1. 找到xxl-job-executor-sample-springboot 模块下的 SampleXxlJob层级略多,不要找错了 ,修改实例中的代码,我们简单打印一句话即可。

在这里插入图片描述

  1. 还是这个模块,启动该模块的主启动类XxlJobExecutorApplication

在这里插入图片描述

  1. 回到Web界面,找到左侧的任务管理,点击右侧绿色的新增按钮。

在这里插入图片描述

  1. 如图所示输入信息,由于我们的定时任务是BEAN模式,所以我们也选择BEAN,值得一提的是:这里有个Cron表达式,可能很多同学第一次使用不清楚,没关系,点击右侧按钮,我们可以在里面选择需要的模式,这里选择的从0秒开始,每2秒执行一次,选择之后,在下方会展示出该种选择对应的结果,十分照顾新人。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 选择好之后点击保存,点击操作,点击启动,启动成功。

在这里插入图片描述
在这里插入图片描述

  1. 回到我们项目中,可以发现,每间隔2秒,控制台会打印对应的语句,nice,大功告成!

在这里插入图片描述

  1. 假如我们不想让它执行了,回到页面点击停止 ,发现控制台中的光标不再移动,任务结束。

在这里插入图片描述

在这里插入图片描述

  1. 我们还可以在左侧的调度日志中查看对应的执行记录,包括调度时间、调度结果等等,是不是很方便!

在这里插入图片描述

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 中的 XxlJobConfigapplication.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,预祝任务调度之路越来越顺利!


在这里插入图片描述


🐳结语

🐬初学一门技术时,总有些许的疑惑,别怕,它们是我们学习路上的点点繁星,帮助我们不断成长。

🐟积少成多,滴水成河。文章粗浅,希望对大家有帮助!

这篇关于【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/316871

相关文章

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三