我在PlayFramework中运行Camel并且一切运行良好但是当Play服务器在开发模式下运行时它会动态地重新加载类,但每次都会启动一个新的Camel上下文。
我可以通过调用CamelContext上的stop()来挂接Play重启并关闭Camel上下文,但是我希望能够检查是否已经有上下文运行,如果是这样,只需使用它。
这一定是可能的,因为hawtio向我展示了一个骆驼语境列表。
我没有使用弹簧来配置骆驼。
答案 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