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

相关文章

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事