activemq阅读主题消息hermes

时间:2012-12-19 09:46:47

标签: jms activemq

我正在尝试以非编程方式阅读在activemq中排队的主题消息。 (用于调试目的)

从activemq admin webapp,我可以发布一个主题,但我可以阅读我发布的消息(队列不是这样)。

我尝试使用另一个jms客户端(hermes),我遇到了同样的问题:客户端没有列出主题消息。

由于我对AMQ很新,我可能完全混乱......可能有人帮忙吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

ActiveMQ控制台只能向主题发布消息,但无法订阅它们。

在Hermes中,这是有效的,但请注意,在消息发送到主题之前,您需要开始浏览主题,因为Hermes接收在订阅后发送给主题的消息。这是订阅工作的正常方式。

嗯,最后的事情实际上并不完全正确,因为您可以通过将Hermes中的主题指定为持久以及在连接上设置clientId来设置持久订阅者。您仍然需要在发送任何消息之前注册此消费者,因为您无法“浏览”主题上的消息,只需获取特定订阅者的消息。

另一种调试方法是编辑Activemq中的camel.xml文件并添加窃听路由:

<route>
  <from uri="activemq:topic:mytopic"/>
  <to uri="activemq:queue:myqueue"/>
</route>

然后,您应该在“myqueue”队列中获得每个已发布消息的副本,您应该可以在控制台中阅读该消息。