文章目录
-
- 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进行处理,非常感谢!