我有從隊列中消費消息的REST服務。我希望按需使用消息 - 給我所有在休息服務被調用時在隊列中可用的消息。ActiveMQ從隊列中按需消耗所有消息
我對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;
}
}