一部の Camel ルートには次の動作が必要です。ルートはアクティブな状態で開始する必要がありますが、現在の時刻が午前 X 時から午後 Y 時の間にある場合は一時停止する必要があります。
すべてのルートは from のタイマーで始まります (たとえば、30 秒ごと、5 分ごとなど)。
ScheduledRoutePolicy を使用して、現在アクティブで実行中のルートの自動中断と再開をスケジュールできます。
しかし、例えば、現在時刻がルートを停止すべき期間である場合、ルートを停止状態で開始する方法がわかりません。RoutePolicy は、ルートを一時停止/再開するジョブをスケジュールしますが、Camel が開始すると、ルートが一時停止されるはずだったとしても、すべてのルートが起動されます。
私がそれを達成できる唯一の方法は、タイマーに時間パラメーターを入れて、最初のイベントの時刻を設定するようです。
この場合、スケジュールされた時刻より前であれば、タイマーはイベントを発生させません。その後、ScheduledPolicy がルートの一時停止を処理し、しばらくしてからルートを再開します。