一、介绍
(1)Quzrtz是一个由java编写的开源任务日程管理的项目
(2)Quzrtz通过一个jar库发布,提供Scheduler(调度器)简单的操作
a. 将任务纳入日程,将任务从日程中取消
b. 开始,停止,暂停所有的日程进度
二、定时器种类
Quartz 中五种类型的 触发器(Trigger)
(1)SimpleTrigger
(2)CronTirgger
(3)DateIntervalTrigger
(4)NthIncludedDayTrigger
(5)
Calendar
常用:
SimpleTrigger:用来触发只需执行一次或者在给定时间触发并且重复N次且每次执行延迟一定时间的任务。
CronTrigger:按照日历触发,例如“每个周五”,每个月10日中午或者10:15分。
三、存储方式
RAMJobStore(直接在java代码中定义调度)
和JDBCJobStore(数据库中定义调度)
总结:通过数据库配置任务,比较容易管理
四、表关系和解释
表名称 | 说明 |
---|---|
qrtz_blob_triggers | Trigger作为Blob类型存储(用于Quartz用户用JDBC创建他们自己定制的Trigger类型,JobStore 并不知道如何存储实例的时候) |
qrtz_calendars | 以Blob类型存储Quartz的Calendar日历信息, quartz可配置一个日历来指定一个时间范围 |
qrtz_cron_triggers | 存储Cron Trigger,包括Cron表达式和时区信息 |
qrtz_fired_triggers | 存储与已触发的Trigger相关的状态信息,以及相联Job的执行信息 |
qrtz_job_details | 存储每一个已配置的Job的详细信息 |
qrtz_locks | 存储程序的非观锁的信息(假如使用了悲观锁) |
qrtz_paused_trigger_graps | 存储已暂停的Trigger组的信息 |
qrtz_scheduler_state | 存储少量的有关 Scheduler的状态信息,和别的 Scheduler 实例(假如是用于一个集群中) |
qrtz_simple_triggers | 存储简单的 Trigger,包括重复次数,间隔,以及已触的次数 |
qrtz_triggers | 存储已配置的 Trigger的信息 |