OpenMQ 和 JMX - 是否可以查询消息?
我可以通过使用 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 操作,但我没有找到任何可以帮助我的东西。
您能给我一些提示吗?我可以寻找什么?
谢谢你, 奥斯卡
编辑:只是想让你知道:我不想消耗队列,我想要与浏览器类似的行为,在浏览器中我可以读取消息而不将它们从队列中删除。
I am able to query for queues by invoking a GET_DESTINATIONS operation using JMX. With that I will receive the queue info (attributes).
I would like now to query the messages that are stored in this queue, is that possible? Could someone give me some direction?
I have already tried using this code
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();
But for some reason O can't access the same queue as using JMX. I didn't made any research on that because I want to use JMX as the access standard.
I am still trying to find any JMX operation that could help me, but I am not finding anything that could help me.
Could you please give me some hints what can I look for?
thank you,
Oscar
Edit: just to let you know: I don't want to consume the queues, I want a similar behavior to the Browser, in which I can read the messages without removing them from the queue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此代码将为您提供消息,然后只需迭代它,您就可以获得有关消息及其内容的信息
This code will give you the messages, then just iterate through it and you can get get infos about the message and its content