2012-04-13 47 views
1

我試圖抓住持久activemq隊列上的消息。如何使用JMSTemplate和選擇器從ActiveMQ接收消息?

如果我打電話

jmsTemplate.receive("queue.response") 

我得到一個消息。但如果我打電話

jmsTemplate.receiveSelected("queue.response", "JMSCorrelationId='1854044'") 

我在等待時超時。

我在使用ActiveMQ Web控制檯查看隊列,我可以看到消息已準備好被使用。相關ID在控制檯中可見,我也可以在直接接收(「隊列..」)調用中收到的消息中看到它們。

大概我在做我的實際選擇器錯了,但我能找到的每個例子都看起來像我所擁有的。

任何想法我做錯了什麼?

+0

你嘗試沒有'周圍的Id值? – Carlo 2012-04-13 09:18:15

+0

您確定您的關聯ID是正確的嗎? – 2012-04-13 09:46:23

+0

@卡洛:是的,嘗試沒有'。其結果是它拾取所有消息,我認爲,因爲選擇器是無效的。 – 2012-04-13 10:34:56

回答

5

Facepalm! JMSCorrelationID區分大小寫。我試圖使用JMSCorrelationId ...