2.63. quartz
使用 Quartz 2.x 调度程序调度消息发送。
2.63.1. 内部是什么 复制链接链接已复制到粘贴板!
-
quartz 组件, URI 语法:
quartz:groupName/triggerName
有关使用和配置详情,请参阅上述链接。
2.63.2. Maven 协调 复制链接链接已复制到粘贴板!
在 code.quarkus.redhat.com 上使用此扩展创建一个新项目
或者将协调添加到现有项目中:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-quartz</artifactId>
</dependency>
2.63.3. 使用方法 复制链接链接已复制到粘贴板!
2.63.3.1. 集群 复制链接链接已复制到粘贴板!
对 Quartz 集群的支持由 Quarkus Quartz 扩展提供。以下步骤概述了如何配置 Quarkus Quartz 以用于 Camel。
启用 Quartz 集群模式,并将
DataSource配置为持久性 Quartz 作业存储。示例配置如下:# Quartz configuration quarkus.quartz.clustered=true quarkus.quartz.store-type=jdbc-cmt quarkus.quartz.start-mode=forced # Datasource configuration quarkus.datasource.db-kind=postgresql quarkus.datasource.username=quarkus_test quarkus.datasource.password=quarkus_test quarkus.datasource.jdbc.url=jdbc:postgresql://localhost/quarkus_test # Optional automatic creation of Quartz tables quarkus.flyway.connect-retries=10 quarkus.flyway.table=flyway_quarkus_history quarkus.flyway.migrate-at-start=true quarkus.flyway.baseline-on-migrate=true quarkus.flyway.baseline-version=1.0 quarkus.flyway.baseline-description=Quartz向应用添加正确的 JDBC 驱动程序扩展,使其与
quarkus.datasource.db-kind的值对应。在上例中使用了postgresql,因此需要以下 JDBC 依赖项:根据您的需要进行调整。DataSource支持还需要 agroal。<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-jdbc-postgresql</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-agroal</artifactId> </dependency>Quarkus Flyway 可以自动为您创建必要的 Quartz 数据库表。将
quarkus-flyway添加到应用程序(可选)。<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-flyway</artifactId> </dependency>另外,为您选择的数据库类型添加 Quartz 数据库创建脚本。Quartz 项目提供可从 这里 复制的脚本。将 SQL 脚本添加到
src/main/resources/db/migration/V1.0.0__QuarkusQuartz.sql。Quarkus Flyway 将在启动时检测它,并将继续创建 Quartz 数据库表。将 Camel Quartz 组件配置为使用 Quarkus Quartz 调度程序。
@Produces @Singleton @Named("quartz") public QuartzComponent quartzComponent(Scheduler scheduler) { QuartzComponent component = new QuartzComponent(); component.setScheduler(scheduler); return component; }
进一步自定义 Quartz 调度程序,可以通过各种配置属性来完成。如需更多信息,请参阅 Quarkus Quartz 配置指南。