【问题标题】:Using HornetQ InVM between multiple apps在多个应用程序之间使用 HornetQ InVM
【发布时间】:2011-11-18 07:36:18
【问题描述】:

既然 HornetQ 有 InVM Acceptors 和 Connectors 的概念,是否可以配置 HornetQ Embedded 使同一 Tomcat 实例中的两个不同应用程序可以发送消息彼此?

我看到 HornetQ 在 MBean 中保存了一些关于地址和队列的信息,所以我认为他们可以共享这些信息。

【问题讨论】:

    标签: java jms hornetq


    【解决方案1】:

    InVM 接受器和连接器概念与 MBean 和地址正交。所以我不太确定你在问他们什么。

    只要您可以在 VM 中正确嵌入 HornetQ,您就可以只使用 InVM 接受器和连接器。

    【讨论】:

    • 我想知道两个不同的应用程序,A 和 B,在同一个 Tomcat 实例(因此是同一个 VM)上运行并使用 HornetQ 嵌入式,是否可以相互交换消息。我想避免部署集中的 HornetQ 服务器。
    • 当然.. 这应该不是问题。我们一直在 JBoss 上这样做。一个应用程序将向目标 A 发送消息,另一个应用程序将侦听同一目标上的消费者。您需要确保设置正常工作。这在 JBoss 上运行良好,没有任何问题。
    • 嗯,我明白了。你能解释一下你的设置是什么样的吗?
    • 仅供参考,以下是我设置我的应用程序的方式: 在我的测试中,我在 Tomcat 中部署了两个类似的应用程序。两者都启动了嵌入式 HornetQ 服务器。他们将队列绑定到同一个地址,并将消息发送到同一个地址。但是消费者只是从他们自己的应用程序中接收到消息。我尝试仅在其中一个应用程序中启动 HornetQ 服务器,但随后另一个应用程序找不到该服务器。
    • 错了:你需要在主类加载器上正确集成由Tomcat启动的HornetQ。否则每个应用程序(具有自己的类加载器)将无法选择其他类加载器的应用程序
    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 2015-07-18
    • 2017-04-12
    • 2018-01-01
    • 2014-06-04
    • 2013-02-02
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多