268.10. QuartzScheduledPollConsumerScheduler の使用

Quartz2 コンポーネントは、File および FTP コンシューマーなどの Polling Consumer に cron ベースのスケジューリングを使用できるようにする Polling Consumer スケジューラーを提供します。

たとえば、cron ベースの式を使用して 2 秒ごとにファイルをポーリングするには、Camel ルートを次のように単純に定義できます。

    from("file:inbox?scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?")
       .to("bean:process");

scheduler=quartz2 を定義して Camel に Quartz2 ベースのスケジューラーを使用するように指示していることに注意してください。次に、scheduler.xxx オプションを使用してスケジューラーを設定します。Quartz2 スケジューラーでは、cron オプションを設定する必要があります。

次のオプションがサポートされています。

パラメーターデフォルトタイプ説明

quartzScheduler

null

org.quartz.Scheduler

カスタム Quartz スケジューラーを使用するには。何も設定しない場合、Quartz2 コンポーネントの共有スケジューラーが使用されます。

cron

null

String

必須: ポーリングをトリガーするための cron 式を定義します。

triggerId

null

String

トリガー ID を指定します。何も指定されていない場合は、UUID が生成されて使用されます。

triggerGroup

QuartzScheduledPollConsumerScheduler

String

トリガーグループを指定します。

timeZone

デフォルト

TimeZone

CRON トリガーに使用するタイムゾーン。

重要:エンドポイントからこれらのオプションを設定するには、URIの先頭に scheduler. を付ける必要があることを忘れないでください。たとえば、トリガー ID とグループを設定するには、次のようにします。

    from("file:inbox?scheduler=quartz2&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");