VM协议是否支持两个JVM?

时间:2012-01-30 14:27:55

标签: java jvm activemq

我想在activemq协议上运行vm://代理作为独立应用程序,并从驻留在不同JVM实例中的程序向其队列发送消息。可能吗?它会起作用吗?

This Documentation明确指出:

  

"在同一个JVM中,在JVM内部相互通信"

但这对我来说根本没有意义:)我们有外部JMS代理(在同一台机器上)和在不同JVM中运行的客户端(例如Tomcat)的情况并不常见。 Active-MQ文档根本不能帮助我,因为他们可能认为我的问题的解决方案是显而易见的,因此我的困惑。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我尝试了以下设置:

  1. 独立ActiveMQ经纪人
  2. 简单的Java生产者 - 消费者程序在单独的JVM中运行
  3. 他们两人都在使用vm://test经纪人。

    <强>结论

    Id无论ActiveMQ代理是否正在运行都无关紧要。在这两种情况下,我的简单示例运行顺利 - 它创建了VM代理,当JVM与我的程序一起关闭时,它已被丢弃。

    这意味着,真正的VM代理只在一个JVM中运行,并且无法从其他JVM访问,至少使用最简单的配置。