AMQ主题的内容是否可以以某种方式查看?

7

我正在尝试使用activemq-admin查看主题的内容。

这是我的尝试:

./activemq-admin browse --amqurl tcp://localhost:61616 my.topic

这是我得到的输出结果:


Java Runtime: Sun Microsystems Inc. 1.6.0_24 /usr/lib/jvm/java-6-sun-1.6.0.24/jre
Heap sizes: current=62848k  free=62190k  max=932096k
JVM args: -Dactivemq.classpath=/home/pc/dev/apache-activemq-5.3.1/conf; -Dactivemq.home=/home/pc/dev/apache-activemq-5.3.1 -Dactivemq.base=/home/pc/dev/apache-activemq-5.3.1
ACTIVEMQ_HOME: /home/pc/dev/apache-activemq-5.3.1
ACTIVEMQ_BASE: /home/pc/dev/apache-activemq-5.3.1

这不是我想要的。我想以某种原始形式查看队列中的消息。这可能吗?

谢谢,


不回答问题 - 但我可以确认我无法在http://localhost:8161/admin/topics.jsp看到主题的内容,尽管当我转到http://localhost:8161/admin/queues.jsp时,我可以浏览未出列的消息的内容。不知道为什么会这样。 - Sridhar
3个回答

8
由于主题的本质,您无法浏览主题内容。消息被发送进来,如果有订阅者,每个订阅者会在那个时间点接收到一个消息。通常情况下不会保留消息(有一些例外情况,这里与之无关)。
然而,出于调试目的,有时候可以查看发送到主题的消息。最简单的方法是设置虚拟目标,将发送到主题的每个消息复制到队列中。具体操作请参考虚拟目标文档
<destinationInterceptors>
    <virtualDestinationInterceptor>
        <virtualDestinations>
            <compositeTopic name="events" forwardOnly="false">
                <forwardTo>
                    <queue physicalName="events.thatHaveHappened" />
                </forwardTo>
            </compositeTopic>
        </virtualDestinations>
    </virtualDestinationInterceptor>
</destinationInterceptors>

您可以通过JMX或Web控制台浏览队列。


1

1

您可以使用Web控制台查看队列中消息的内容。

enter image description here


如何才能看到所产生/消费的消息数量,但不是确切的消息内容。 - Simeon
1
你能够查看 http://<yourhost>:<port>/admin/ 吗?然后导航到队列(在菜单中),点击其中一个队列名称,然后再点击其中一条消息。请参见上面添加的屏幕截图。 - Sridhar
哦,我现在看到了你的另一个评论,抱歉。是的,我也可以看到队列的内容,但不能看到主题(而我需要主题)。谢谢。 - Simeon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接