Quartz简介

文章目录

    • Quartz 是什么
    • What is the Quartz Job Scheduling Library/li>
      • 使用场景
      • 特点
      • Quartz 使用的设计模式
    • Java 语言实现定时任务的几种方式
    • 核心元素
      • Scheduler
      • Trigger
      • Calendar
      • JobDetail
      • Job
      • JobExecutionContext
    • 核心元素之间的关系
    • Quartz 类图
    • 主要线程
    • 数据存储

Quartz 类图

数据存储

Quartz中的trigger和job需要存储下来才能被使用。Quartz中有两种存储方式:RAMJobStore,JobStoreSupport,其中RAMJobStore是将trigger和job存储在内存中,而JobStoreSupport是基于jdbc将trigger和job存储到数据库中。RAMJobStore的存取速度非常快,但是由于其在系统被停止后所有的数据都会丢失,所以在集群应用中,必须使用JobStoreSupport。

注意:quartz集群是通过数据库表来感知其他的应用的,各个节点之间并没有直接的通信。只有使用持久的JobStore才能完成Quartz集群。

quartz的sql所在位置

1、/docs/dbTables

2、org/quartz/impl/jdbcjobstore

其中表结构

Serial Number Table Name Description
1 QRTZ_CALENDARS 存储Quartz日历信息
2 QRTZ_CRON_TRIGGERS 存放Cron类型的Trigger,包括Cron表达式和时区信息
3 QRTZ_FIRED_TRIGGERS 存储与已触发的Trigger相关的状态信息,以及相联Job的执行信息
4 QRTZ_PAUSED_TRIGGER_GRPS 存储已暂停的Trigger组的信息
5 QRTZ_SCHEDULER_STATE 存储少量的Scheduler相关的状态信息
6 QRTZ_LOCKS 存储程序的悲观锁的信息(如果使用了悲观锁)
7 QRTZ_JOB_DETAILS 存储每一个已配置的JobDetail信息
8 QRTZ_SIMPLE_TRIGGERS 存储Simple类型的Trigger,包括重复次数、间隔、以及已触的次数
9 QRTZ_BLOG_TRIGGERS 以Blob类型存储的Trigger
10 QRTZ_TRIGGERS 存储已配置的Trigger的基本信息
11 QRTZ_TRIGGER_LISTENERS Trigger监听器
12 QRTZ_JOB_LISTENERS Job监听器

注意:cron方式需要用到的4张数据表: QRTZ_TRIGGERS,QRTZ_CRON_TRIGGERS,QRTZ_FIRED_TRIGGERS,QRTZ_JOB_DETAILS。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月19日
下一篇 2020年10月19日

相关推荐