当 CamelContext 停止时,如何获得通知,API 有 addStartupListener 但上下文停止时没有类似的东西?
2 回答
Camel 邮件列表http://camel.465427.n5.nabble.com/Notification-on-CamelContext-stop-tp5729300.html上也提出了这个问题
有几种方法。正如 Evgeniy Dorofeev 所展示的生命周期战略。 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/LifecycleStrategy.html
另一个是事件通知器,它使用事件对象并且比生命周期策略拥有更多的事件。例如本例所示: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
这是方法之一
camelContext.addLifecycleStrategy(new LifecycleStrategySupport() {
@Override
public void onContextStop(CamelContext context) {
}
});
在克劳斯易卜生的回答中看到更多,他是骆驼行动的作者http://www.manning.com/ibsen/