Java OpenMQ和JMX-是否可以查询消息?
我能够通过使用JMX调用GET_DESTINATIONS操作来查询队列。这样,我将收到队列信息(属性)。 我现在想查询存储在此队列中的消息,是否可能?有人能告诉我一些方向吗 我已经尝试使用此代码Java OpenMQ和JMX-是否可以查询消息?,java,glassfish,jmx,openmq,Java,Glassfish,Jmx,Openmq,我能够通过使用JMX调用GET_DESTINATIONS操作来查询队列。这样,我将收到队列信息(属性)。 我现在想查询存储在此队列中的消息,是否可能?有人能告诉我一些方向吗 我已经尝试使用此代码 ConnectionFactory connectionFactory = new com.sun.messaging.QueueConnectionFactory(); Connection connection = connectionFactory.createConnection(
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操作,但我没有找到任何可以帮助我的东西
你能给我一些提示我能找些什么吗
谢谢,,
奥斯卡
编辑:只是想让您知道:我不想使用队列,我想要一种与浏览器类似的行为,在这种行为中,我可以读取消息,而无需将它们从队列中删除
QueueBrowser browser = null;
try{
Queue myQueue = session.createQueue(getName());
//Create the browser and session to be able to iterate
browser = session.createBrowser(myQueue);
Enumeration msgs = browser.getEnumeration();
这段代码将为您提供消息,然后对其进行迭代,您可以获得有关消息及其内容的信息