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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringMVC学习笔记
V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据
SerMs
2022/03/31
1.7K0
SpringMVC学习笔记
springMVC基础
springMVC中默认的转发视图是InternalResourceView 当控制器方法中所设置的视图名称以“forward:”为前缀时,创建InternalResourceView视图,此时的视图名称不会被springmvc配置文件的视图解析器解析,而是通过转发方式实现跳转。
Java微观世界
2025/01/20
500
springMVC基础
Spring学习笔记(六)——SpringMVC 概述和入门案例
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。 SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。 它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。
不愿意做鱼的小鲸鱼
2022/09/24
5430
Spring学习笔记(六)——SpringMVC 概述和入门案例
SpringMVC(一)
概述 SpringMVC 通过一套 MVC 注解,让一个 POJO 成为处理请求的控制器,而无需实现任何接口 HelloWorld 步骤概括 加入 jar 包 加入 SpringMVC 配置文件 在 web.xml 文件中配置 DispatcherServlet 编写处理请求的处理器,并标识为处理器 编写视图 详细步骤 创建 Maven 工程,加入 jar 依赖 <properties> <spring.verison>4.3.8.RELEASE</spring.verison> </prop
bgZyy
2018/06/07
8780
SpringMVC基础(上篇)
​ 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过 @PathVariable(“xxx“) 绑定到操作方法的入参中。
OY
2022/03/12
3530
SpringMVC基础(上篇)
快速学习-SpringMVC 的入门
下载开发包: https://spring.io/projects 其实 spring mvc 的 jar 包就在之前我们的 spring 框架开发包中。
cwl_java
2020/04/08
4290
SpringMVC 教程
   Spring 是目前比较流行的MVC框架,让POJO处理起来变的容易,也支持Rest的Url请求。采用松散的耦合可插拔的接口,比其它MVC接口更具有扩展性和灵活性
付威
2018/12/05
6620
SpringMVC 教程
SpringMVC 学习笔记 (day1 )
文章目录 SpringMVC Maven 项目创建配置 一、添加东西 (构建项目更快) 二、运行第一个 Spring MVC 程序 2.1 Maven 配置 2.2 springmvc.xml 配置 2.3 SpringMVC 中的组件控制器 2.3 web.xml 配置 2.4 RequestMapping 讲解 三、请求参数的绑定 3.1 绑定的机制 3.2 获得原生 Servlet API 四、常用注解 4.1 RequestParam 4.2 RequestBody 4.3 PathVariable
Gorit
2021/12/08
4270
SpringMVC 学习笔记 (day1 )
Java学习之Spring MVC入门
前面写了SSM 的两大框架,分别是Mybatis和Spring,这里来写一下Spring MVC框架的相关内容。
全栈程序员站长
2022/07/13
2770
SpringMVC学习笔记
(1)通过 contextConfigLocation 来配置 SpringMVC 的配置文件
shirayner
2018/08/10
1.3K0
SpringMVC学习笔记
SpringMVC基本知识点
**-方法处:**提供进一步的细分映射信息,若未定义类标注,则直接标记URL相对于WEB应用的根目录。
Java开发者之家
2021/06/17
4360
SpringMvc(一)-初识
需求,浏览器发送请求helloMvc,请求后端处理方法,返回目标success。jsp页面,并在页面中显示 Hello Mvc in KH96;
化羽羽
2022/10/28
7150
SpringMvc入门
简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBeans
大忽悠爱学习
2021/11/15
7830
SpringMVC入门第三部分
访问index.jsp---->直接发送/emps请求----->控制器查询所有员工-------->放在请求域中-------->转发到list页面进行展示
大忽悠爱学习
2021/11/15
7480
SSM第七讲 SpringMVC概述和基础知识详解
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),[Struts 2](https://baike.baidu.com/item/Struts 2/2187934)(一般老项目使用)等。
易兮科技
2020/09/27
1.4K0
SSM第七讲  SpringMVC概述和基础知识详解
SpringMVC:基本应用
MVC 是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的开发思想。
RendaZhang
2020/09/16
1.3K0
SpringMVC:基本应用
SpringMVC基础详解
MVC架构模式的描述:前端浏览器发送请求给web服务器,web服务器中的Controller接收到用户的请求,Controller负责将前端提交的数据进行封装,然后Controller调用Model来处理业务,当Model处理完业务后会返回处理之后的数据给Controller,Controller再调用View来完成数据的展示,最终将结果响应给浏览器,浏览器进行渲染展示页面。
Java微观世界
2025/01/21
2610
SpringMVC基础详解
你真的了解SpringMVC吗?
用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller 调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果 找到相应的View视图,渲染数据后最终响应给浏览器
用户11097514
2024/05/30
1160
你真的了解SpringMVC吗?
从零开始重新认识 SpringMVC
默认情况下,你在方法的参数列表中写什么,前端表单中 input 标签的 name 属性值就要是什么,比如:
wsuo
2020/07/30
8920
从零开始重新认识 SpringMVC
SpringMVC -- 必知必会
SpringMVC基于模型--视图--控制器(Model-View-Controller,MVC)模式实现,属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无需实现任何接口。同时它还支持RESTful编程风格的请求。SpringMVC是基于方法设计的,相比基于类设计的Struts2要稍微快一些。
宋先生
2019/07/18
1.4K0
SpringMVC -- 必知必会
相关推荐
SpringMVC学习笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档