Tomcat7中使用共享嵌入式ActiveMQ的多个war

Tomcat7中使用共享嵌入式ActiveMQ的多个war,activemq,tomcat7,Activemq,Tomcat7,我正在从事一个项目,在这个项目中,tomcat 7中有几个war文件,必须与同一个tomcat中的单个嵌入式activeMQ(5.5.1)代理通信 我想知道管理这个的最佳实践是什么,以及如何正确启动和停止代理 实际上,我尝试在server.xml中使用一个全局JNDI条目,并在每次war中通过查找获取activemq连接。到代理的第一个连接隐式启动它。但使用这种方法,我会遇到各种问题,如实例已经存在或数据存储中的锁 我是否应该使用一个额外的war,它使用BrokerFactory显式地启动代理?

我正在从事一个项目,在这个项目中,tomcat 7中有几个war文件,必须与同一个tomcat中的单个嵌入式activeMQ(5.5.1)代理通信

我想知道管理这个的最佳实践是什么,以及如何正确启动和停止代理

实际上,我尝试在
server.xml
中使用一个全局JNDI条目,并在每次war中通过查找获取activemq连接。到代理的第一个连接隐式启动它。但使用这种方法,我会遇到各种问题,如实例已经存在或数据存储中的锁

我是否应该使用一个额外的war,它使用BrokerFactory显式地启动代理?在这种情况下,如何确保这场战争首先在Tomcat中执行?我如何阻止我的经纪人,在哪里

谢谢你的帮助。

来自文档

如果您正在使用VM传输并希望显式配置 嵌入式代理您有可能创建JMS 在代理启动之前先连接。目前ActiveMQ将 如果使用VM传输但没有代理,则自动创建代理 已配置。(在5.2中,可以使用waitForStart和 create=false(连接uri的选项)

因此,要解决这个问题,如果您正在使用Spring,您可能希望使用 依赖于属性,因此您的JMS连接工厂依赖于 嵌入式代理可以避免这种情况发生。e、 g

有关更多信息,请参阅这些页面