【分布式任务调度平台 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

相关文章

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步