【发布时间】:2017-09-27 08:53:54
【问题描述】:
我目前正在使用 IBM MQ JMS 库并编写一个 Java 类,该类将使用如下选择器处理从消费队列中拉取消息:
consumer = session.createConsumer(queue, "JMSCorrelationID = '" + request.getCorrelationID() + "'");
message = consumer.receive(30000);
我的问题是,如果消费队列中有两条消息与消息选择器匹配,调用 consumer.receive 会拉下两条消息,还是只会拉下它看到的第一条消息?
我发现了另一个 SO 问题: How to remove multiple messages using message selector in JMS 这似乎暗示了这样一个事实:即使消费队列中的两条消息与选择器匹配,调用接收也会拉下一条消息。
【问题讨论】: