【发布时间】:2010-10-13 06:28:28
【问题描述】:
我正在尝试使用 JMS 从 servlet(在 Apache Tomcat 上运行)向在同一系统上的不同 VM 中运行的 ActiveMQ 发送消息。
我尝试过的事情:
- 在我的系统上运行 ActiveMQ。
- 编写了一个客户端(Java 应用程序)(生产者)来创建消息。
- 编写了一个客户端(Java 应用程序)(消费者)来接收这些消息。
上述设置工作正常。
现在,我有一个 servlet,它通过 JNDI 查找资源。这是Tomcat META-INF目录下context.xml的配置。
<Context>
<Resource
name="jms/ConnectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL=" tcp://localhost:61616"
/>
</Context>
我可以从 sevlet 中查找这些资源。消息已发送。但我认为它没有达到 ActiveMQ。任何想法为什么?
我觉得它正在将它发送到容器内运行的其他目的地vm://localhost?这不是我想要的。我是妈妈的新手。
如果有人能告诉我如何将 JMS 消息从 servlet 发送到远程代理,那就太好了。
【问题讨论】: