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 エクステンションによって提供されます。次の手順では、Camel で使用する Quarkus Quartz の設定方法を説明します。
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=Quartzquarkus.datasource.db-kindの値に対応するアプリケーションに、正しい JDBC ドライバーエクステンションを追加します。上記の例ではpostgresqlが使用されるため、以下の JDBC 依存関係が必要になります。必要に応じて調整します。Agroal は、DataSourceサポートにも必要になります。<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 データベーステーブルの作成に進みます。Quarkus Quartz スケジューラーを使用するように Camel Quartz コンポーネントを設定します。
@Produces @Singleton @Named("quartz") public QuartzComponent quartzComponent(Scheduler scheduler) { QuartzComponent component = new QuartzComponent(); component.setScheduler(scheduler); return component; }
Quartz スケジューラーの追加のカスタマイズは、さまざまな設定プロパティーで実行できます。詳細は、Quarkus Quartz Configuration ガイドを参照してください。