如何通过Spring向Camel Context添加自定义StartupListener?
这听起来很容易(比如添加ShutdownStrategy),但我觉得很难。 这里没有任何关于它: http://camel.apache.org/advanced-configuration-of-camelcontext-using-spring.html
感谢。
答案 0 :(得分:2)
感谢克劳斯和罗伯特。我回答我的问题提出解决方案。
确实可以使用EventNotifier而不是StartupListener,虽然让StartupListener按预期工作会更容易:) 无论如何,以下代码就像一个魅力:
public class StartStopEmailEventNotifier extends EventNotifierSupport {
@Override
public void notify(EventObject event) throws Exception {
try {
if (event instanceof CamelContextStartedEvent) {
//send start email notification
}
if (event instanceof CamelContextStoppingEvent) {
//send stop email notification
}
} catch (Exception e) {
LOG.error("Problem with sending email: ", e);
}
}
@Override
public boolean isEnabled(EventObject event) {
if (event instanceof CamelContextStartedEvent || event instanceof CamelContextStoppingEvent) {
return true;
}
return false;
}
}
春天:<bean id="startStopEmailEventNotifier" class="com....StartStopEmailEventNotifier"></bean>
答案 1 :(得分:0)
乍一看this thread可能无关紧要,但问题与您的问题相同,但目的不同。看起来基于有针对性的讨论JIRA ticket已经创建。
请注意,在尖头线程中可以找到解决方法:)。