1

一部の Camel ルートには次の動作が必要です。ルートはアクティブな状態で開始する必要がありますが、現在の時刻が午前 X 時から午後 Y 時の間にある場合は一時停止する必要があります。

すべてのルートは from のタイマーで始まります (たとえば、30 秒ごと、5 分ごとなど)。

ScheduledRoutePolicy を使用して、現在アクティブで実行中のルートの自動中断と再開をスケジュールできます。

しかし、例えば、現在時刻がルートを停止すべき期間である場合、ルートを停止状態で開始する方法がわかりません。RoutePolicy は、ルートを一時停止/再開するジョブをスケジュールしますが、Camel が開始すると、ルートが一時停止されるはずだったとしても、すべてのルートが起動されます。

私がそれを達成できる唯一の方法は、タイマーに時間パラメーターを入れて、最初のイベントの時刻を設定するようです。

この場合、スケジュールされた時刻より前であれば、タイマーはイベントを発生させません。その後、ScheduledPolicy がルートの一時停止を処理し、しばらくしてからルートを再開します。

4

1 に答える 1

2

autoStartup オプションを使用してルートを開始しないように設定できます。詳細については、このページを参照してください: http://camel.apache.org/configuring-route-startup-ordering-and-autostartup.html

于 2013-05-11T08:24:31.527 に答える