38.12. QuartzScheduledPollConsumerScheduler の使用
Quartz コンポーネントは、File および FTP コンシューマーなどの Polling Consumer に cron ベースのスケジューリングを使用できるようにする Polling Consumer スケジューラーを提供します。
たとえば、cron ベースの式を使用して 2 秒ごとにファイルをポーリングするには、Camel ルートを次のように単純に定義できます。
from("file:inbox?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?") .to("bean:process");
scheduler=quartz
を定義して Camel に Quartz ベースのスケジューラーを使用するように指示していることに注意してください。次に、scheduler.xxx
オプションを使用してスケジューラーを設定します。Quartz スケジューラーでは、cron オプションを設定する必要があります。
次のオプションがサポートされています。
パラメーター | デフォルト | タイプ | 説明 |
---|---|---|---|
|
|
| カスタム Quartz スケジューラーを使用するには。何も設定しない場合、コンポーネントの共有スケジューラーが使用されます。 |
|
|
| 必須: ポーリングをトリガーするための cron 式を定義します。 |
|
|
| トリガー ID を指定します。何も指定されていない場合は、UUID が生成されて使用されます。 |
|
|
| トリガーグループを指定します。 |
|
|
| CRON トリガーに使用するタイムゾーン。 |
エンドポイントからこれらのオプションを設定するには、URIの先頭に scheduler
を付ける必要があることを忘れないでください。
たとえば、トリガー ID とグループを設定するには、次のようにします。
from("file:inbox?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerId=myId&scheduler.triggerGroup=myGroup") .to("bean:process");
Spring には CRON スケジューラーもあるので、以下も使用できます。
from("file:inbox?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?") .to("bean:process");