Quartz之JDBC-JobStoreTX配置

news2024/11/26 23:20:22

一、前言

上篇 《Quartz介绍》中使用的是RAMJobStored存储调度信息,当进程终止调度信息会丢失,本篇我们介绍使用JDBCJobStore来存储调度信息(jobs、Triggers和日历)。

二、Quartz 表结构

可以从官网(http://www.quartz-scheduler.org/)下载的包中得到建表的SQL。

路径如下:

/src/org/quartz/impl/jdbcjobstore/tables_mysql.sql

QRTZ_CRON_TRIGGERS:存储cron类型的触发器。

QRTZ_FIRED_TRIGGERS:存放已触发的触发器

QRTZ_JOB_DETAILS:存放jobDetail信息

QRTZ_SIMPLE_TRIGGERS:简单触发器信息

QRTZ_TRIGGERS:触发器基本信息

---------------------------------------------------

QRTZ_BLOB_TRIGGERS:以BLOB类型存储的触发器。

QRTZ_CALENDARS: 存放日历信息。

QRTZ_LOCKS:存储程序销的信息

QRTZ_PAUSED_TRIGGER_GRPS:存放暂停掉的触发器

QRTZ_SCHEDULER_STATE:调度器状态

QRTZ_SIMPROP_TRIGGERS:用于存储CalendarIntervalTrigger和DailyTimeIntervalTrigger。

三、任务持久化配置例子

1、导入依赖:增加mysql

2、quartz.properties:配置数据源

注:这里jobstore换成org.quartz.impl.jdbcjobstore.JobStoreTX然后配置数据连接,也可以配置连接池。

3、任务类

4、调度类

注:这里使用的是SimpleScheduleBuilder,创建一个简单的任务调度器

5、运行后查看表中的数据

QRTZ_TRIGGERS:触发器基本信息

QRTZ_FIRED_TRIGGERS:已触发触发器信息

QRTZ_SIMPLE_TRIGGERS:简单触发器

图片

注:这里存储了触发器重复次数,重复间隔以及已经触发了几次的信息。

QRTZ_JOB_DETAILS:存放jobDetail信息

注:任务Class的路径以及任务数据。

如果换成触发器换成表达式

这里会在QRTZ_CRON_TRIGGERS表中生成数据。

QRTZ_CRON_TRIGGERS:CronScheduleBuilder触发器信息

四、可视化界面开发

一个项目中定时任务比较多,如果没有可视化界面维护会比较困难,那用了Quartz如何给它做个可视化界面呢。

创建任务

就是调用上面调度类创建任务,任务名称、触发器名称、触发器表达式。scheduler.scheduleJob(jobDetail,trigger);  这样就会把触发器保存在数据库中。

注:一个触发器可以有多个任务,但一般场景下一个触发器一个任务也能满足需求,一个任务多个触发器应该是不可以的。

修改任务

调用Schedule.rescheduleJob接口完成更改,修改后需要重启应用。

禁用任务

JobKey jobKey = JobKey.jobKey(jobName, jobGroup);

getScheduler().deleteJob(jobKey);

立即运行

getScheduler().triggerJob(jobKey);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1175635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

康耐视深度学习ViDi-ViDi四大工具介绍与主要用途

Cognex ViDi 工具是一系列机器视觉工具,通过深度学习解决各种难以解决的挑战。虽然这些工具共享一个引擎,但它们在图像中寻找的内容不同。更具体地说,在分析单个点、单个区域或完整图像时,每个工具都有不同的侧重点。 Locate&…

JUC并发编程系列(一):Java线程

前言 JUC并发编程是Java程序猿必备的知识技能,只有深入理解并发过程中的一些原则、概念以及相应源码原理才能更好的理解软件开发的流程。在这篇文章中荔枝会梳理并发编程的基础,整理有关Java线程以及线程死锁的知识,希望能够帮助到有需要的小…

30、JAVA进阶——Socket编程

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者成长之路 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:JAVA进阶——Socket编程 更多内容点击👇 …

idea2023 PoJie以后无法修改内存无效

1. 打开电脑环境变量 2. 找到对应pojie文件 vmoptions目录 3. 修改这个文件 添加或者修改配置 -Xms128m -Xmx8192m4. 重启idea 修改成功

flutter开发报错The instance member ‘widget‘ can‘t be accessed in an initializer

文章目录 问题描述问题原因解决方法 问题描述 The instance member ‘widget’ can’t be accessed in an initializer. 问题原因 “The instance member ‘widget’ can’t be accessed in an initializer” 错误是因为在初始化器列表中(constructor initializer…

JavaScript使用正则表达式

正则表达式(RegExp)也称规则表达式(regular expression),是非常强大的字符串操作工具,语法格式为一组特殊字符构成的匹配模式,用来匹配字符串。ECMAScript 3以Perl为基础规范JavaScript正则表达式,实现Perl 5正则表达式的子集。Ja…

Linux常用命令——cdrecord命令

在线Linux命令查询工具 cdrecord Linux系统下光盘刻录功能命令 补充说明 cdrecord命令用于Linux系统下光盘刻录,它支持cd和DVD格式。linux下一般都带有cdrecord软件。 语法 cdrecord(选项)(参数)选项 -v:显示刻录光盘的详细过程; -eje…

基于社交网络算法的无人机航迹规划-附代码

基于社交网络算法的无人机航迹规划 文章目录 基于社交网络算法的无人机航迹规划1.社交网络搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用社交网络算法来优化无人机航迹规划。 …

UseGalaxy.cn生信云|新增热图绘制工具:heatmap2

2023-11-05,Galaxy生信云平台 UseGalaxy.cn 新增绘制热图工具。 Graph/Display Data heatmap2 (Galaxy Version 3.1.3galaxy0) 使用方法 进入网址: https://usegalaxy.cn/root?tool_idtoolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatm…

8.接口与抽象类 深入多态

8.1 不该初始化的class 这个结构有什么不对? 这个class结构不算太差。如此设计已经能够维持最少的重复程序代码,且有需要特地实现的方法也已经被覆盖过。从多态的角度来看,我们也做到了适应性,所以任何Animal的子型,包…

什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码

🧸欢迎来到dream_ready的博客,📜相信您对这几篇博客也感兴趣o (ˉ▽ˉ;) 📜什么是SpringMVC?简单好理解!什么是应用分层?SpringMVC与应用分层的关系? 什么是三层架构&…

【Unity细节】为什么UI移动了锚点,中心点和位置,运行的时候还是不在设置的位置当中

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

从行车记录仪恢复已删除/丢失视频的方法

“我的车里有行车记录仪。几天前,当我下班回家时,一辆卡车不知从哪里冒出来撞向了我。我们的两辆车都损坏了,但幸运的是,没有人受伤。我曾与卡车司机就修理我的汽车进行过会面,但他说我有错。我需要查看我的行车记录仪…

微服务注册中心之安装+实例搭建zookeeper

1.下载安装包并上传到Linux服务器 Apache ZooKeeper 可以使用wget或者curl命令 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz连接失败也可以本地下载之后上传到服务器 scp /本地/文件的/路径 用户名远程服务器IP或主…

(免费领源码)java#SSM#mysql基于响应式的网上书店系统27119-计算机毕业设计项目选题推荐

摘 要 随着信息技术在管理上越来越深入而广泛的应用,管理系统的实施在技术上已逐步成熟。管理系统是一个不断发展的新型学科,本文主要通过对响应式的网上书店系统的功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的…

【Proteus仿真】【Arduino单片机】OLED液晶显示

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用IIC OLED液晶等。 主要功能: 系统运行后,OLED液晶显示各种图形、字符、图像。 二、软件设计 /* 作者:嗨小…

C++标准模板(STL)- 类型支持 (类型属性,is_bounded_array,is_unbounded_array)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

时间序列预测模型实战案例(八)(Informer)BestPaper论文模型Informer代码实战讲解

论文地址->Informer论文地址PDF点击即可阅读 代码地址-> 论文官方代码地址点击即可跳转下载GIthub链接 本文介绍 本篇博客带大家看的是Informer模型进行时间序列预测的实战案例&#xff0c;它是在2019年被提出并在ICLR 2020上被评为Best Paper&#xff0c;可以说Inform…

如何再kali中下载iwebsec靶场

这个靶场有三种搭建方法&#xff1a; 第一种是在线靶场&#xff1a;http://www.iwebsec.com:81/ 第二种是虚拟机版本的&#xff0c;直接下载到本地搭建 官网地址下载&#xff1a;http://www.iwebsec.com/ 而第三种就是利用docker搭建这个靶场&#xff0c;我这里是用kali进行…

【CIO人物展】厦门市妇幼保健院CIO李振叶:医院数字化转型是迈向智慧医院新时代的关键...

李振叶 本文由厦门市妇幼保健院CIO李振叶投递并参与《2023中国数智化转型升级优秀CIO》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 厦门市妇幼保健院&#xff08;厦门大学附属妇女儿童医院&#xff09;创建于1959年&#xff0c;是集保健、医疗、教学、科研…