从JMS队列获取消息时出错

时间:2016-11-04 00:11:27

标签: java queue jms javax

我得到一个JMS队列(JAVAX.JMS)我通过以下方式建立连接:

jmsConnect = queueConnectionFactory.createQueueConnection();
jmsSession = jmsConnect.createQueueSession(true,     jmsSession.AUTO_ACKNOWLEDGE);
jmsConnect.start();
connection = queueConnectionFactory.createConnection();
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
connection.start();

我尝试使用此功能获取排队的消息:

QueueBrowser browser = session.createBrowser(Queue);
Enumeration e = browser.getEnumeration();
while (e.hasMoreElements()) {
e.nextElement();
cont++;
}
browser.close();
browser = null;

至少有1个排队的消息,但是当函数尝试获取排队消息的总数时,总是返回0,对可能发生的事情有所了解?

1 个答案:

答案 0 :(得分:0)

您可能在队列中有过期消息。您仍会发现消息在排队的计数中,但是当您尝试阅读消息时或在您的情况下浏览它可能无法提供给您的应用程序。 AMQ中的示例变为this up