Я могу запрашивать очереди, вызывая операцию GET_DESTINATIONS с использованием JMX. После этого я получу информацию об очереди (атрибуты).
Я хотел бы сейчас запросить сообщения, которые хранятся в этой очереди, это возможно? Может ли кто-нибудь дать мне какое-то направление?
Я уже пробовал использовать этот код
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, которая могла бы мне помочь, но я не нахожу ничего, что могло бы мне помочь.
Не могли бы вы дать мне несколько советов, что я могу искать?
спасибо,
Оскар
Редактировать: просто, чтобы вы знали: я не хочу использовать очереди, я хочу поведение, подобное браузеру, в котором я могу читать сообщения без удаления их из очереди.