5

を使用してトピックの内容を表示しようとしています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

これは私が望むものではありません。どういうわけか、キュー内のメッセージを生の形式で見たいです。それは可能ですか?

ありがとう、

4

3 に答える 3

6

トピックの性質上、トピックの内容を閲覧することはできません。メッセージが送信され、サブスクライバーが存在する場合、それぞれがその時点でメッセージを受信します。通常、メッセージは保持されません (ここでは関係のないいくつかの例外を除きます)。

ただし、デバッグ目的で、トピックに送信されたメッセージを表示すると便利な場合があります。これを行う最も簡単な方法は、トピックに送信された各メッセージをキューにコピーする仮想宛先を設定することです。

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

その後、JMX または Web コンソールを介してキューを参照できます。

于 2012-07-02T11:45:24.840 に答える
1

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

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

サーバーに接続してから、必要なトピックにサブスクライブします。メッセージの詳細とペイロードを確認しても問題ありませんでした。

于 2015-02-01T22:44:25.293 に答える
0

Web コンソールを使用して、キュー内のメッセージの内容を表示できます

ここに画像の説明を入力

于 2012-06-27T13:13:55.987 に答える