【问题标题】:Multiple war in Tomcat 7 using a shared embedded ActiveMQTomcat 7 中使用共享嵌入式 ActiveMQ 的多重战争
【发布时间】:2012-03-07 08:36:18
【问题描述】:

我正在做一个项目,我在 tomcat 7 中有多个 war 文件,必须与同一个 Tomcat 中的单个嵌入式 activeMQ (5.5.1) 代理进行通信。

我想知道管理此问题的最佳做法是什么,以及如何正确启动和停止代理。

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

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

感谢您的帮助。

【问题讨论】:

    标签: activemq tomcat7


    【解决方案1】:

    来自文档...

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

    所以如果你使用 Spring 来解决这个问题,你可能希望使用 依赖属性,以便您的 JMS ConnectionFactory 依赖于 嵌入式代理来避免这种情况发生。例如

    查看这些页面了解更多信息...

    http://activemq.apache.org/vm-transport-reference.html

    http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html

    http://activemq.apache.org/how-do-i-restart-embedded-broker.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 2022-06-10
      • 2014-04-28
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      相关资源
      最近更新 更多