【发布时间】:2017-09-03 15:19:26
【问题描述】:
有什么方法可以获取 jms 队列中未决消息的计数。如果队列中没有剩余要处理的消息,我的目标是关闭连接。我怎样才能做到这一点。
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection("admin", "admin");
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(subject);
MessageConsumer consumer = session.createConsumer(destination);
while (true) {
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Incoming Message:: '" + textMessage.getText() + "'");
}
}
【问题讨论】:
-
嗨赫尔曼,你得到了你的问题解决方案,实际上我遇到了同样的问题,我不想使用循环来计算待处理消息的总数。您是否找到任何解决方案来获取待处理消息的数量?
-
@BhaumikSathvara 请看stackoverflow.com/a/43292110/3570413