我正在尝试以非编程方式阅读在activemq中排队的主题消息。 (用于调试目的)
从activemq admin webapp,我可以发布一个主题,但我可以阅读我发布的消息(队列不是这样)。
我尝试使用另一个jms客户端(hermes),我遇到了同样的问题:客户端没有列出主题消息。
由于我对AMQ很新,我可能完全混乱......可能有人帮忙吗?
非常感谢!
答案 0 :(得分:2)
ActiveMQ控制台只能向主题发布消息,但无法订阅它们。
在Hermes中,这是有效的,但请注意,在消息发送到主题之前,您需要开始浏览主题,因为Hermes接收在订阅后发送给主题的消息。这是订阅工作的正常方式。
嗯,最后的事情实际上并不完全正确,因为您可以通过将Hermes中的主题指定为持久以及在连接上设置clientId来设置持久订阅者。您仍然需要在发送任何消息之前注册此消费者,因为您无法“浏览”主题上的消息,只需获取特定订阅者的消息。
另一种调试方法是编辑Activemq中的camel.xml文件并添加窃听路由:
<route>
<from uri="activemq:topic:mytopic"/>
<to uri="activemq:queue:myqueue"/>
</route>
然后,您应该在“myqueue”队列中获得每个已发布消息的副本,您应该可以在控制台中阅读该消息。