2.92. quartz
使用 Quartz 2.x 调度程序调度消息发送。
2.92.1. 什么是内部 复制链接链接已复制到粘贴板!
-
quartz 组件, URI 语法:
quartz:groupName/triggerName
有关用法和配置详情,请参阅上述链接。
2.92.2. Maven 协调 复制链接链接已复制到粘贴板!
在 code.quarkus.redhat.com 上使用此扩展创建新项目
或者将协调添加到现有项目中:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-quartz</artifactId>
</dependency>
2.92.3. 使用方法 复制链接链接已复制到粘贴板!
2.92.3.1. 集群 复制链接链接已复制到粘贴板!
对 Quartz 集群的支持由 Quarkus Quartz 扩展提供。以下步骤概述了如何配置 Quarkus Quartz 以用于 Camel。
启用 Quartz 集群模式,并将
DataSource配置为持久性 Quartz 作业存储。示例配置如下:# Quartz configuration quarkus.quartz.clustered=true quarkus.quartz.store-type=jdbc-cmt quarkus.scheduler.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 配置指南。