jms および actibemq メッセージを消費せずに読み取る方法があるかどうか知りたいですか?? queue からメッセージを消費できることは知っていますが、それでもこの質問をしたい.!!
質問する
20645 次
3 に答える
9
JMS QueueBrowserを介してキュー上のメッセージを参照できます。または、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 に答える