在Quartz的集群模式中,比较核心的数据库表是哪些?

文章详细介绍了Quartz框架在集群模式中依赖的核心数据库表,包括作业详细信息(QRTZ_JOB_DETAILS)、触发器信息(QRTZ_TRIGGERS和QRTZ_CRON_TRIGGERS)、简单触发器(QRTZ_SIMPLE_TRIGGERS)以及调度器状态(QRTZ_SCHEDULER_STATE),强调了数据一致性与同步对任务调度准确性和可靠性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

引言

核心数据库表

1. QRTZ_JOB_DETAILS

2. QRTZ_TRIGGERS

3. QRTZ_CRON_TRIGGERS

4. QRTZ_SIMPLE_TRIGGERS

5. QRTZ_SCHEDULER_STATE


引言

        在 Quartz 的集群模式中,调度器依赖于数据库来存储和管理与任务调度相关的所有必要信息。这种方式确保了在多个节点之间可以共享和同步状态信息,使得集群能够有效地运作。以下是 Quartz 使用的一些核心数据库表,这些表对于调度器的功能至关重要:

核心数据库表

1. QRTZ_JOB_DETAILS

        这张表存储作业的详细信息。每个作业的定义包括它的名字、组以及执行作业所需的类名等信息。

  • SCHED_NAME:调度器名称。
  • JOB_NAME:作业名称。
  • JOB_GROUP:作业组名。
  • JOB_CLASS_NAME:实现 Job 接口的类名。
  • IS_DURABLE:作业是否持久化,即使没有触发器关联也不会被删除。
  • IS_NONCONCURRENT:作业是否不并发执行。
  • IS_UPDATE_DATA:是否在作业执行之后更新 JobDataMap。
  • REQUESTS_RECOVERY:作业在执行中是否请求恢复。

2. QRTZ_TRIGGERS

        这张表存储触发器的基本信息,包括触发器的名称、组、关联的作业详情以及触发器的类型(如简单触发器或 Cron 触发器)。

  • SCHED_NAME:调度器名称。
  • TRIGGER_NAME:触发器名称。
  • TRIGGER_GROUP:触发器组名。
  • JOB_NAME:关联的作业名称。
  • JOB_GROUP:关联的作业组名。
  • DESCRIPTION:触发器描述。
  • NEXT_FIRE_TIME:下次触发时间。
  • PREV_FIRE_TIME:上次触发时间。
  • PRIORITY:触发器优先级。

3. QRTZ_CRON_TRIGGERS

        这张表存储了所有基于 Cron 表达式的触发器的详细信息。它和 QRTZ_TRIGGERS 表紧密相关,专门用于存储 Cron 触发器特有的属性。

  • SCHED_NAME:调度器名称。
  • TRIGGER_NAME:触发器名称。
  • TRIGGER_GROUP:触发器组名。
  • CRON_EXPRESSION:Cron 表达式,定义了触发规则。
  • TIME_ZONE_ID:时区 ID,影响 Cron 表达式的计算。

4. QRTZ_SIMPLE_TRIGGERS

        这张表存储简单触发器的信息,这类触发器具有重复计数和重复间隔等属性。

  • SCHED_NAME:调度器名称。
  • TRIGGER_NAME:触发器名称。
  • TRIGGER_GROUP:触发器组名。
  • REPEAT_COUNT:重复触发次数。
  • REPEAT_INTERVAL:触发间隔时间。
  • TIMES_TRIGGERED:已触发次数。

5. QRTZ_SCHEDULER_STATE

        这张表用于存储集群中各个节点的状态信息,关键于集群模式下调度器的健康运行和故障恢复。

  • SCHED_NAME:调度器名称。
  • INSTANCE_NAME:实例名称。
  • LAST_CHECKIN_TIME:最后一次检查时间。
  • CHECKIN_INTERVAL:检查间隔。

        这些表共同维护了 Quartz 调度器在运行时所需的所有数据,使得在多节点环境下,任何一个节点都能够接管和继续执行未完成的任务,以及按计划执行未来的任务。在集群模式下,这些表的数据一致性和同步非常重要,直接影响到任务调度的准确性和可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值