在使用 Quartz 进行任务调度时,需要通过 JDBC 将相关信息保存到数据库中。Quartz 默认提供了一套基本的表结构用于存储任务、触发器和调度器等信息,这些表的名称以“QRTZ_”开头,包括:
- QRTZ_BLOB_TRIGGERS:存储 BLOB 类型的触发器;
- QRTZ_CALENDARS:存储日历信息;
- QRTZ_CRON_TRIGGERS:存储 Cron 触发器相关的计划信息;
- QRTZ_FIRED_TRIGGERS:存储已触发但未执行的触发器实例列表;
- QRTZ_JOB_DETAILS:存储 Job 详细信息(类名、描述等);
- QRTZ_LOCKS:记录 quartz 实例被加锁情况;
- QRTZ_PAUSED_TRIGGER_GRPS:存储暂停的 Trigger 组信息;
- QRTZ_SCHEDULER_STATE:记录 Scheduler 的状态(是否启动、是否关闭等);
- QRTZ_SIMPLE_TRIGGERS:简单触发器相关的计划信息。
当然,在实际使用过程中也可以根据需求自定义表结构,并通过配置文件指定自定义表名和字段名。需要注意的是,如果修改了默认表结构,则必须同时修改 Quartz 配置文件中对应项,否则会导致任务调度无法正常工作。