CamelContextが停止したときに通知を受け取るにはどうすればよいですか?APIにはaddStartupListenerがありますが、コンテキストが停止したときと同様のものはありませんか?
2 に答える
この質問は Camel メーリング リスト http://camel.465427.n5.nabble.com/Notification-on-CamelContext-stop-tp5729300.htmlにも寄せられました。
いくつかの方法があります。1 つは Evgeniy Dorofeev がライフサイクル戦略で示したものです。 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/LifecycleStrategy.html
もう 1 つは、Event オブジェクトを使用し、ライフサイクル戦略よりも多くのイベントを持つイベント通知機能です。たとえば、次の例に示すように: http://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.html
また、Spring または Blueprint XML を使用する場合は、Bean を定義することでそれらを構成でき、Camel はここに記載されているようにそれを取得します: http://camel.apache.org/advanced-configuration-of-camelcontext-using-spring.html
これは方法の1つです
camelContext.addLifecycleStrategy(new LifecycleStrategySupport() {
@Override
public void onContextStop(CamelContext context) {
}
});
Claus Ibsen の回答を参照してください。彼は Camel in Action http://www.manning.com/ibsen/の著者です。