Springboot 整合 xxljob 使用定时任务调度(新手入门篇)

简介: Springboot 整合 xxljob 使用定时任务调度(新手入门篇)

前言



很久很久以前写过好几篇关于定时任务的使用系列的文章:


这一篇是最简单的,就是单纯跑跑定时任务,那你看这篇就行,没必要用xxljob(因为xxljob要跑服务端,然后自己服务作为客户端接入):


文章 使用@Scheduled 简单实现定时任务


然后这一篇是开始打开封装的壳子,开始可以自己手动配置地去使用定时任务了:


文章 使用Quartz定时器执行多个定时任务 配置篇


然后再继续打开封装的壳子,可以更加自由地去使用定时任务,也就是动态调度:

文章 Quartz定时任务的动态调度使用,实战详解


今天,带来的xxljob的使用, 可能很多人已经会用(最近挺多应届生问到这个的使用),所以我还是选择写一下整合xxl job 的使用入门篇。


正文



在什么都没开始的时候,我们看看springboot 使用 xxljob,需要有些什么,简图:image.png


admin :理解为 server服务端 ,负责提供xxljob相关功能

demo: 理解为 client客户端,你自己想用xxljob的服务

HTML页面, 可视化操作,任务调度。


image.png


demo负责通过代码叙述自己的定时任务要做的东西, admin管不着。


admin管什么,可以管 这些任务怎么执行,怎样执行。怎么管? 在HTML页面上管 (其实也有api方式,该篇不讲)。


看到这里,新手的看客是否觉得好麻烦,又要写server端代码,又要接入,而且还得写前端HTML页面?


啥玩意,不搞了。 (是的,正常要是这样的话我也不搞)


如果说这一切都是开箱即用,这样你觉得可以接受吗?  


代码GITEE地址(不是我写的,xuxueli 都全部写好了,我之所以这么引出来,是怕你们只能接受我,接受不了别人) :

 https://gitee.com/xuxueli0323/xxl-job


下载代码解压出来:image.png


IDEA上打开项目:


image.png


开始实战应用:


先创建数据库 (sql 是现成的)

image.png

执行完:

 image.png


一.把admin 服务端跑起来


application.properties文件,注意红色框的几个地方(端口我自己改了个自己喜欢的8961,大家随意就行)image.png改完直接运行:


image.png


然后去HTML管理界面看下,http://localhost:8961/xxl-job-admin


默认账号 admin

默认密码 123456image.png


PS: 如果你忘记密码了怎么办?


 image.pngimage.pngimage.png


跑偏了,继续,登录成功可以进到任务调度中心界面:


image.png


到这,先不用管其他的,我们接下来第二步。


二.接入xxljob,开始使用xxljob实现定时任务

image.png


红色框的这几个点,比较重要:


image.png


既然要接如xxl job ,那么 admin 的接入地址,肯定是要对应的:


xxl.job.admin.addresses=http://127.0.0.1:8961/xxl-job-admin


executor 至关重要, 这个就是 任务执行器, 每个job任务都是需要执行器来执行的,就像子弹和枪的关系 。

image.png


这个executor ,简单的理解为每个接入的demo服务对应一个就行。


这个可视化界面是随时可以新增、删除、修改的, 但是怎么操作得对应起来才能正常运行。


当然了,直接改数据库表数据也行:


image.png


PS: 如果我不想某个任务执行了, 那么把相关得执行器干掉就行。


子弹没有对应型号的枪,能打吗?


改完配置,就已经接入成功了其实。


怎么使用?


image.png


示例代码:


/**

* 示例

*/

@XxlJob("clockInJobHandler")

public void clockInJobHandler() throws Exception {

   logger.info("clockInJobHandler 正在执行打卡校验" + new Date());


}


然后把demo 跑起来 ,


控制台的日志可以看到,好多个任务已经都注册到admin去了 :


image.png


代码都写好了, 那么就是 在HTML页面 操作调度一下就可以。


新增对任务的管理 :


image.pngimage.pngimage.png


任务启动了:


image.png


可以看到控制台,定时任务在定时执行:


image.png


好了该篇就到这吧, 总结一下springboot 快速整合 xxl-job 需要做的事情:


1. 下载开源的代码


2.用开源提供的sql创建数据库


3.改下admin的配置文件,运行项目


4.改下自己服务的配置文件,接入xxl -job


5.用注解@XxlJob 写下定时任务实现的代码


6.去HTML管理界面,创建一下 执行器、任务器


7.给我点赞、点收藏,然后评论夸一下我

相关文章
|
2月前
|
druid Java 数据库
Spring Boot的定时任务与异步任务
Spring Boot的定时任务与异步任务
|
2月前
|
Java 调度 Spring
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
338 0
|
2月前
|
Java 调度 流计算
有没有 大佬用 springboot 启动flink 处理 ,发现springboot 加 schedule调度处理会内存占满情况?
有没有 大佬用 springboot 启动flink 处理 ,发现springboot 加 schedule调度处理会内存占满情况?
59 6
|
6天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的城市公交调度系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的城市公交调度系统附带文章源码部署视频讲解等
13 2
|
24天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的城市公交调度系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的城市公交调度系统的详细设计和实现(源码+lw+部署文档+讲解等)
24 5
|
1月前
|
消息中间件 设计模式 Java
SpringBoot+Schedule 定时任务的配置开关
SpringBoot+Schedule 定时任务的配置开关
19 0
SpringBoot+Schedule 定时任务的配置开关
|
17天前
|
监控 Java 调度
Spring Boot中的定时任务调度
Spring Boot中的定时任务调度
|
1月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的校车调度管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的校车调度管理系统附带文章源码部署视频讲解等
15 0
|
2月前
|
SQL Java 调度
SpringBoot使用@Scheduled定时任务录入将要过期任务数据
SpringBoot使用@Scheduled定时任务录入将要过期任务数据
|
2月前
|
Java Spring 容器
SpringBoot 使用Quartz执行定时任务对象时无法注入Bean问题
SpringBoot 使用Quartz执行定时任务对象时无法注入Bean问题
80 1