【发布时间】:2014-04-08 09:19:04
【问题描述】:
我有 REST 服务,它使用队列中的消息。我想按需消费消息 - 当调用 rest 服务时,给我队列中可用的所有消息。
我在 Spring 中使用 ActiveMQ。下面是我使用下面的代码从队列中获取消息的代码。当我第一次点击服务时,我得到了队列中可用的所有消息,但如果我进一步发布更多消息,即使我没有点击服务,消息也会被订阅。这可能是什么原因?
while (true) {
try {
message = jmsTemplate.receive("TestQ");
if (message instanceof TextMessage) {
try {
System.out.println(((TextMessage) message).getText());
msg = ((TextMessage) message).getText();
} catch (JMSException ex) {
throw new RuntimeException(ex);
}
} else {
throw new IllegalArgumentException("Message must be of type TextMessage");
}
} catch (Exception ex) {
break;
}
}
【问题讨论】: