2012-06-27 83 views
5

我在尝试使用activemq-admin来查看主题的内容。可以以某种方式查看AMQ主题的内容吗?

这就是我想:

./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 

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

感谢,

+0

不回答问题 - 但我可以确认我无法在http:// localhost:8161/admin/topics.jsp中看到主题的内容,但是当我转到http:// localhost: 8161/admin/queues.jsp我可以导航到尚未出列邮件的内容。不知道这是为什么。 – Sridhar

回答

3

您无法浏览主题的内容因的话题是什么性质查看队列中的消息的内容。消息被发送,并且如果有任何订户,则每个消息都在该时间点接收消息。通常不会保留消息(有些例外与此无关)。

但是,有时出于调试目的,查看发送到主题的消息很有用。最简单的方法是设置一个virtual destination,将每个发送到该主题的消息复制到一个队列中。

<destinationInterceptors> 
    <virtualDestinationInterceptor> 
     <virtualDestinations> 
      <compositeTopic name="events" forwardOnly="false"> 
       <forwardTo> 
        <queue physicalName="events.thatHaveHappened" /> 
       </forwardTo> 
      </compositeTopic> 
     </virtualDestinations> 
    </virtualDestinationInterceptor> 
</destinationInterceptors> 

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

1

您可以使用web console

enter image description here

+0

如何?我可以看到生成/消耗的消息数量,但不是确切的消息。 – Simeon

+1

你能查看http:// /admin /?然后导航到队列(在菜单中),点击其中一个队列名称,然后点击其中一条消息。查看上面添加的屏幕截图。 – Sridhar

+0

哦,我现在看到你的其他评论对不起。是的,我还可以看到队列中的内容,但没有看到主题(我需要这些主题)。谢谢。 – Simeon

相关问题