Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot整合XXL-JOB【01】- 初识XXL-JOB

SpringBoot整合XXL-JOB【01】- 初识XXL-JOB

原创
作者头像
别惹CC
发布于 2025-01-13 03:37:59
发布于 2025-01-13 03:37:59
3670
举报

一、什么是XXL-JOB?

先来看看官方文档的定义:

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

先来理解一下任务调度:就是在一个约定的特定时刻去执行任务的过程。举一个常见的场景:银行需要在每个用户的信用卡还款日前3天发送短信通知。而任务调度平台则可以让我们对这些任务进行统一的管理,比如开启或关闭特定的任务、修改任务的执行频率等等。

二、为什么使用它?

有的同学可能要说了,不就是定时任务嘛,我一个Java Boy当然要用Spring,直接用Spring提供的 @Scheduled注解,一行代码不就搞定了。确实,Spring提供了非常便利的方式让我们在项目中使用定时任务,但如果你不是单机部署的话,定时任务肯定会重复执行的,而我相信大部分公司的业务应该不会只部署一台机器吧,如图:

那有的同学要说了,这也很简单嘛,加个分布式锁控制下就好了,但加锁就意味着我们在编码阶段多了一项维护成本嘛。可能有的同学又要说了,那没事,我们可以用Quartz。首先我认为它是一款优秀的框架,但我个人不是很喜欢的点就是使用API的方式控制任务以及需要持久化业务QuartzJobBean到底层数据表从而产生入侵,所以选择了XXL-JOB

三、架构

这里我们先看一下XXL-JOB官方文档的架构图,如下:

乍一看好像还挺复杂,但我们只需要知道它由调度中心执行器两部分组成。调度中心负责管理所有的任务,比如某个任务的执行频率,我们可以在调度中心里建个任务指定每天执行一次;接着在我们的项目里声明一个执行器,并把刚才的任务名称设置给它,这个执行器就是一个注解,所以把需要定时执行的逻辑抽成一个方法然后加上这个注解就行。

这样我们的代码结构就变得更清晰了,业务逻辑是业务逻辑,定时逻辑是定时逻辑。

四、小结

本篇文章只是先给各位读者大致介绍一下XXL-JOB,下一篇将会给大家演示怎么使用它。另外,其实它的文档也很详细,实在等不及的读者也可以读文档来自己试下,地址:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
xxl-job 源码分析系列(1)- 配置运行
  XXL-JOB是一个轻量级分布式任务调度平台,当然我司也在用,然后正巧自己想学一学源码分析,就挑正好在用的xxl-job了。
haoming1100
2018/12/13
1.3K0
xxl-job 源码分析系列(1)- 配置运行
XXL-Job
原生的Spring-Task任务调度适用条件有限:因为原生的Spring-Task集成执行器模块、调度模块,两者是绑定死的。如果我们想去修改调度时间或修改执行器逻辑,就需要重新运行项目,非常局限。于是就诞生了XXL-Job分布式、轻量级、易拓展、具有可视化Dashboard的定时任务。
收心
2022/09/26
7820
分布式调度中间件xxl-job(一):初识Xxl-Job
  在上一篇常见分布式任务调度工具浅析中,简单地分析了一下目前比较热门的三个分布式调度中间件。今天,我们就从大众点评许雪里大佬开源的xxl-job开始学习。   什么?你问我为什么从xxl-job开始学习?别问,问就是简单,好学,易上手。
闲宇非鱼
2022/02/08
2.7K0
分布式调度中间件xxl-job(一):初识Xxl-Job
xxl-job默认accessToken绕过RCE
📢 提示: 靶场来自个人云服务器,真实网络环境渗透测试请严格遵守《中国网络信息安全法》,请勿轻易用于他人线上网络环境安全测试,本人不承担任何法律责任。
叔牙
2024/11/23
6890
xxl-job默认accessToken绕过RCE
SpringBoot整合XXL-JOB【04】- 以GLUE模式运行与执行器负载均衡策略
我们先来回顾下我们现在的定时任务是怎么应用的,我们先在调度中心里配置个任务,接着在项目里对需要定时执行的方法加上XXL-JOB的注解,也就是说我们如果现在需要对某个方法改成定时任务是需要重新发版部署的。
别惹CC
2025/01/13
3720
SpringBoot整合XXL-JOB【04】-  以GLUE模式运行与执行器负载均衡策略
Spring Boot集成 Xxl-job 实现超牛的定时任务
在现代的应用开发中,定时任务是不可或缺的一部分。为了更加高效地管理和监控这些任务,我们通常会使用一些优秀的定时任务调度框架。而 Xxl-job 就是其中一款备受好评的框架,它提供了可视化的任务管理界面、分布式任务调度、执行日志记录等功能。本文将带你一步步实现在 Spring Boot 项目中集成 Xxl-job,打造超牛的定时任务系统。
IT_陈寒
2023/12/13
1.8K0
Spring Boot集成 Xxl-job 实现超牛的定时任务
Spring Job?Quartz?XXL-Job?年轻人才做选择,艿艿全莽~
在产品的色彩斑斓的黑的需求中,有存在一类需求,是需要去定时执行的,此时就需要使用到定时任务。例如说,每分钟扫描超时支付的订单,每小时清理一次日志文件,每天统计前一天的数据并生成报表,每个月月初的工资单的推送,每年一次的生日提醒等等。
芋道源码
2020/05/19
7.2K0
Spring Job?Quartz?XXL-Job?年轻人才做选择,艿艿全莽~
SpringBoot整合XXL-JOB【05】- 任务分片
首先在数据库里建一个测试的表,并mock一些数据进去,模拟业务中的“大表”。因为本身就是在模拟,也不讲究性能什么的,大家自己操作下就行。
别惹CC
2025/01/13
3040
SpringBoot整合XXL-JOB【05】-  任务分片
分布式任务调度平台XXL-JOB,不了解一下?
任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务。我们可以思考一下在以下场景中,我们应该怎么实现:
Bug开发工程师
2019/12/05
1.3K0
SpringBoot+XXL-JOB:高效定时任务管理
在现代应用程序中,定时任务是不可或缺的一部分。Spring Boot 和 XXL-Job 为你提供了一个强大的工具组合,以简化任务调度和管理。
程序员皮皮林
2024/10/10
9010
SpringBoot+XXL-JOB:高效定时任务管理
Quartz、Schedule、XXL-Job 3种任务的极简使用教程 - Docker 自动化配置自动导入库表!
本文的宗旨在于通过简单干净实践的方式教会读者,多种类型的任务执行组件使用案例,包括;Quartz 使用、扩展 Spring-Schedule 自动增加任务、XXL-Job 分布式任务调度。其中像 Spring-Schedule 小傅哥还添加了一些 Spring 组件开发的能力可自动扩展任务、对 XXL-Job 的配置引入了 Docker Compose 自动化安装和自动初始化 MySQL 数据库 xxl-job.sql 库表数据。这些都是为了让你在不同的场景选择合适的框架,同时也能更简单的使用这些框架。
小傅哥
2023/09/06
1.9K0
Quartz、Schedule、XXL-Job 3种任务的极简使用教程 - Docker 自动化配置自动导入库表!
快速学习-XXL-JOB总体设计
将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。
cwl_java
2020/09/24
1.9K0
快速学习-XXL-JOB总体设计
XXL-JOB
Github 地址: https://github.com/xuxueli/xxl-job/ 。
ma布
2024/11/15
2010
XXL-JOB
分布式任务调度利器—Xxl-job框架详解
近期开发中的功能中需要用到定时任务来做数据库的备份和文件的定时删除,所以调研了当前比较主流的几个定时任务框架,经过对比选定了今天要讲的xxl-job,所以这篇文章,我主要和大家分享一下xxl-job的学习总结,记录一下在分布式项目下如何优雅的使用xxl-job实现定时任务。
灰小猿
2024/05/25
28.8K0
分布式任务调度利器—Xxl-job框架详解
分布式任务调度框架XXL-JOB入门级教程
下载源码导入idea,源码地址:https://gitee.com/xuxueli0323/xxl-job.git
小熊学Java
2023/07/16
1.3K0
分布式任务调度框架XXL-JOB入门级教程
分布式任务调度平台XXL-JOB
任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务。我们可以思考一下在以下场景中,我们应该怎么实现:
我没有三颗心脏
2019/10/08
2.3K0
分布式任务调度平台XXL-JOB
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
xxl-job是一款开源的分布式任务调度框架,它能够帮助你实现定时任务的调度和管理.
杨不易呀
2023/09/21
2.4K0
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
xxl-job Vs ElasticJob,谁牛?
1. xxl-job 2. 运行 xxl-job 3. 开发定时任务 3.1 项目创建及配置 3.2 定时任务开发方式 4. 小结 前两天写了一篇文章介绍了一下 ElasticJob,有不少小伙伴强烈建议讲讲 xxl-job,其实 ElasticJob 本来就是一个引子,松哥本来就是想和大家分享 xxl-job 的(手动狗头。 1. xxl-job 松哥也在微信群里和小伙伴们讨论过各自到底用的是 xxl-job 还是 ElasticJob,讨论的结果就是,xxl-job 使用的人更多一些。 不说功能的优劣,
江南一点雨
2022/03/24
2K0
开源框架分布式任务调度xxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用
疯狂的KK
2021/01/18
7800
开源框架分布式任务调度xxl-job
XXL-Job框架入门介绍
特点: 1.调度中心,任务执行器独立部署,互不影响。 2.调度中心和任务执行器都支持集群化部署,避免出现单点故障。 3.调用中心和执行器之间通过HTTP协议进行通信,因此需要把它们部署在能相互连通的网络环境。
编程随笔
2022/04/29
1.2K0
XXL-Job框架入门介绍
推荐阅读
相关推荐
xxl-job 源码分析系列(1)- 配置运行
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档