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