JMX を使用して GET_DESTINATIONS 操作を呼び出すことで、キューをクエリできます。これで、キュー情報 (属性) を受け取ります。このキューに格納されているメッセージを照会したいのですが、可能ですか? 誰かが私に方向性を教えてもらえますか?
私はすでにこのコードを使用してみました
ConnectionFactory connectionFactory = new
com.sun.messaging.QueueConnectionFactory();
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue myQueue = session.createQueue(string);
QueueBrowser browser = session.createBrowser(myQueue);
Enumeration msgs = browser.getEnumeration();
if (!msgs.hasMoreElements()) {
System.out.println("No messages in queue");
} else {
while (msgs.hasMoreElements()) {
Message tempMsg = (Message) msgs.nextElement();
System.out.println("Message: " + tempMsg);
}
}
connection.close();
しかし、何らかの理由で、O は JMX を使用する場合と同じキューにアクセスできません。JMXをアクセス標準として使用したいので、それについては調査しませんでした。
私はまだ私を助けることができるJMX操作を見つけようとしていますが、私を助けることができるものは何も見つかりません.
何を探すことができるかヒントを教えてください。
ありがとう、オスカー
編集: お知らせ: キューを消費したくありません。キューからメッセージを削除せずにメッセージを読み取ることができるブラウザと同様の動作が必要です。