2017-07-03 8 views
0

スタンドアロンのSpring-Camelアプリケーションを構成してルートが存在するようにしていて、 x秒間、コンテキスト全体が停止します。エンドポイントでx秒間メッセージが受信されない場合、Spring Camelアプリケーションを終了するにはどうすればいいですか

xが10の場合、メッセージが8秒間受信されずにルートに到着した場合、カウンタは10秒にリセットされます。カウンタが0になったら、アプリ全体が終了する必要があります(正常に処理中のルートを終了してください)

メッセージが10秒以内に到着し続ける場合は、アプリケーションを終了しないでください。

誰でもこれを達成するためのエレガントな方法を知っていますか?

+0

としてあなたは春のためにapplication.propertiesに設定することができラクダバネの設定、内のオプションは、たぶんRoutepolicyを見て見つけることができます... – Namphibian

+0

ルートポリシーを調べ、メインルート内からシャットダウンルートを停止して開始しました。私が持っている問題は、タイマーにアクセスしてリセットする方法です。 – user2164711

答えて

2

最新のCamelリリース2.19.1を使用している場合は、Xメッセージ、X時間、またはアイドル状態でX秒を超えて終了するように設定できます。私が持っている

あなたはこのような

https://github.com/apache/camel/blob/master/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java#L179

https://github.com/davsclaus/camel-profile-sample/blob/master/src/main/resources/application.properties#L24

+0

まさに私が探していたものです - ありがとう! – user2164711

関連する問題