SpringBoot集成quartz实现动态定时任务

SpringBoot集成quartz实现动态定时任务

(1)Quartz简介

Quartz三大组件:

一、调度器scheduler
二、任务job
三、触发器trigger

1、job:job是一个接口,通过实现job接口,可实现需要定时执行的代码逻辑。
2、JobDetail:JobDetail主要是用来描述job的相关信息,比如任务在scheduler中的组名等信息,job的子类。
2、trigger:可以通过cron表达式设置定时任务的触发时间。
3、scheduler:JobDetail和tigger需要注册到scheduler里,这样trigger才能触发job。

Quartz的执行流程:

在使用quartz时在数据库需要创建11张表(会在下面贴出),Quartz中会开一个QuartzSchedulerThread线程扫描表中快要执行job然后执行。

(2)springboot集成quartz

1、引入quartz依赖
在这里插入图片描述
2、配置类设置
在这里插入图片描述3、实现job接口
在这里插入图片描述
4、创建一个api接口
在这里插入图片描述
5、测试定时任务
![在这里插入图片描述](https://img-blog.csdnimg.cn/12659f7ced9949aa8a7e1fbb0a63e9d9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP5bCP5bCR6bK2,size_20,color_FFFFFF,t_70,g_se,x_16

(3)sql脚本

SET FOREIGN_KEY_CHECKS=0;

CREATE TABLE mydatabase.qrtz_blob_triggers (
sched_name varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘调度名称’,
trigger_name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘qrtz_triggers表trigger_name的外键’,
trigger_group varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘qrtz_triggers表trigger_group的外键’,
blob_data blob NULL COMMENT ‘存放持久化Trigger对象’,
PRIMARY KEY (sched_name, trigger_name, trigger_group) USING BTREE,
CONSTRAINT qrtz_blob_triggers_ibfk_1 FOREIGN KEY (sched_name, trigger_name, trigger_group) REFERENCES mydatabase.qrtz_triggers (sched_name, trigger_name, trigger_group) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT =

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值