- 提供通用调度 API、Quartz JDBC Provider 与独立 Starter - 补充 MySQL、PostgreSQL、H2 建表脚本与接入校验 - 同步完善 Federation 与 Scheduler 模块说明
3.0 KiB
3.0 KiB
Quartz 2.5.2 数据库脚本
easy-agents-scheduler-quartz 不会自动创建、删除或修改数据库结构。引用方需要选择与数据库匹配的脚本,并将其内容纳入自己的 Flyway、Liquibase 或初始化流程。
脚本与 Delegate
| 数据库 | 类路径资源 | driverDelegateClass |
|---|---|---|
| MySQL / MariaDB | quartz-schema/mysql-2.5.2.sql |
org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
| PostgreSQL | quartz-schema/postgresql-2.5.2.sql |
org.quartz.impl.jdbcjobstore.PostgreSQLDelegate |
| H2 2.x(开发与测试) | quartz-schema/h2-2.5.2.sql |
org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
默认表前缀是 QRTZ_。若调用方调整表名或 Schema,需要同步设置 tablePrefix,例如 scheduler.QRTZ_。
来源与变更
脚本来自 Quartz 官方仓库 v2.5.2 标签:
为避免初始化脚本误删调用方已有任务,本模块从 MySQL 和 PostgreSQL 脚本中移除了全部 DROP TABLE。H2 版本另将旧式 IMAGE 类型替换为 H2 2.x 支持的 BLOB,并移除了已经失效的 MVCC=TRUE 提示。三套脚本同时移除了显式事务提交和行尾空白,使事务边界由调用方的迁移工具管理,其余建表结构沿用官方脚本。
SHA-256
| 文件 | 官方原始文件 | 本模块资源 |
|---|---|---|
| MySQL | 90453cda26f4aad8abd35195a38ec36306561f0265f766dd12fbb42e185d5f82 |
1bfadd7762251836d6e15360e85f3c996a5c942a997ff0e9df30b59c50b0e97d |
| PostgreSQL | 60d22e05e00203702f18f835916c75270aeb6828e7051bb81dd87ebd7bf6a943 |
911d058d415dbb9b29b344997c952e29d2e0b510ce4fe0b69f38adc5d5afffdb |
| H2 | 21d806abef330e7c7175491b55b730acffa3c2e17a910840b32eee3fe2bf9fed |
7750ac7b6c29d91072a5f8f98e4489d79469120effa9f613a7d9f89613beba5b |
脚本随 Quartz 版本固化。后续升级 Quartz 时应新增版本化资源并完成数据库升级验证,不回改已经发布的脚本。
引用方接入要求
- 在目标数据库中执行所选脚本,或复制到引用方自己的迁移文件中。
- 保持同一集群节点的
schedulerName、tablePrefix和数据库一致。 - 每个节点使用唯一
instanceId,常规部署可配置为AUTO。 - 生产集群启用
clustered=true,业务 Handler 按至少一次执行语义实现幂等。 - 保留启动结构校验;表或关键列缺失时底座会拒绝启动并报告
SCHEMA_INVALID。
本模块只包含 Quartz 的 QRTZ_* 技术表。任务定义、执行流水、审计和管理界面等业务表由引用方按自身需求设计。