2012-06-27 10 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 /?次に、キュー(メニュー内)に移動して、キュー名の1つをクリックしてから、メッセージの1つをクリックします。上記のスクリーンショットを参照してください。 – Sridhar

+0

ああ、あなたの他のコメントは、現在、ごめんなさい。はい、キューの内容は表示できますが、トピックは表示されません(トピックが必要です)。ありがとう。 – Simeon

1

このサードパーティ製のツールを使用すると、トピックにメッセージをトピックにサブスクライブして検査することができます:サーバーへ

http://sourceforge.net/projects/activemqbrowser/

Connectには、その後、あなたがしたいトピックをサブスクライブ。メッセージの詳細とペイロードを調べても問題はありませんでした。

関連する問題