有没有办法以编程方式找到可用的CamelContext

时间:2015-04-11 09:49:40

标签: apache-camel

我在PlayFramework中运行Camel并且一切运行良好但是当Play服务器在开发模式下运行时它会动态地重新加载类,但每次都会启动一个新的Camel上下文。

我可以通过调用CamelContext上的stop()来挂接Play重启并关闭Camel上下文,但是我希望能够检查是否已经有上下文运行,如果是这样,只需使用它。

这一定是可能的,因为hawtio向我展示了一个骆驼语境列表。

我没有使用弹簧来配置骆驼。

1 个答案:

答案 0 :(得分:3)

您可以使用JMX查看JVM mbean服务器中的其他CamelContext。这就是hawtio用来检测哪些Camel正在JVM中运行。

作为替代方案,您可以使用Container spi来创建CamelContext时发生事件。但这需要一种方法来解决这个问题:https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/spi/Container.java