8

jms および actibemq メッセージを消費せずに読み取る方法があるかどうか知りたいですか?? queue からメッセージを消費できることは知っていますが、それでもこの質問をしたい.!!

4

3 に答える 3

9

JMS QueueBrowserを介してキュー上のメッセージを参照できます。または、ActiveMQでは、JMXまたはコマンドラインツールを使用してコンテンツを参照できます。

ActiveMQコンソールツール

JMS QueueBrowser API

ActiveMQ JMX

于 2013-01-09T21:17:53.170 に答える
5

Message-consumers を使用するのではなく、QueueBrowserこれを行うためにクラスを使用する必要があります。

ConnectionFactory connectionFactory = 
    new ActiveMQConnectionFactory("tcp://127.0.0.1:61616"); 
Connection connection = 
    connectionFactory.createConnection("admin","admin");
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("Test");
QueueBrowser queueBrowser = session.createBrowser(queue);
Enumeration msgs = queueBrowser.getEnumeration();
while (msgs.hasMoreElements()) {
    //do your things here
}
于 2016-12-14T12:17:07.797 に答える
2

別のオプションは、メッセージを「消費」することですが、トランザクション内だけであり、完了したらロールバックしますが、いわばそれが「目的」であるため、ブラウザの方が良いかもしれません。

特定のメッセージを探しているだけで、手動で十分な場合は、UI の [RSS フィード] ボタンをクリックして、activemq のメッセージとその内容 (すべて、少なくとも一部だと思います) を表示できます。基本的にそれらすべてを画面にダンプします。「atom feed」オプションは、FWIW の「RSS」オプションよりも高速にロードされるようです。

于 2016-06-02T16:47:28.217 に答える