Spring Boot 集成Quartz定时任务

quartz定时任务
placeholder image
admin 发布于:2022-06-12 11:05:57
阅读:loading

前几年还写了关于Quartz的纯Java使用和Spring集成的使用,今天特将本站博客系统使用Spring Boot集成的Quartz框架实现的定时任务整理出来,以实现功能的界面介绍和实现步骤的描述和截图为主,完整的代码可在博客系统的实现源码中自行下载查看。博客中的定时管理功能包含两个功能页面,分别是定时任务的功能管理和定时任务的执行历史记录查询管理,简单概括就是使用Spring Boot整合Quartz框架,并使用其自带的数据库持久化实现将定时任务写入表中,同时将自定义定时实现的Job统一封装,具体分解如下文详细所示。

1.创建数据库表

本次使用MySQL数据库来实现,所以需要拿到MySQL数据库对应的创建表语句和初始化数据脚本,具体的脚本可见quartz-2.3.2.jar!\org\quartz\impl\jdbcjobstore包中,找到对应数据库版本的脚本文件执行创建表即可,参考如下图所示:

image.png

image.png

2.任务管理

任务管理主要是对于系统定时任务功能的管理和维护,主要包含了所有定时任务的列表查询和动态新增、修改、删除、停用、启用、运行等功能点,各个功能都可以即时操作对应的数据,同时查询列表字段任务组名、任务名称、任务描述、表达式、表达式描述、实现类、运行状态、上次执行时间、下次执行时间等,参考界面如下:

image.png

image.png

image.png

(列表查询)

image.png

(新增修改页面)

image.png

(任务执行历史)

3.知识点说明

(1)共计创建12张表,默认以quartz_开头的命名,可以通过配置进行改写,改变默认的开头命名前缀;

(2)功能包含定时任务的动态新增、修改、删除,同时还有启用、运行、执行;

(3)另有Cron表达式的有效性验证等其它Api,对于定时任务的全局参数并未考虑使用,建议如有涉及自行实现;

(4)上述列表中的数据直接是从MySQL表中查询出来的展示,登录本站的后端管理可见此功能,相关代码在本站博客源码中可见;

(5)具体实现也可参见本站其它的定时任务章节文章;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区