【问题标题】:How to receive messages from ActiveMQ with JMSTemplate and a selector?如何使用 JMSTemplate 和选择器从 ActiveMQ 接收消息?
【发布时间】:2012-04-25 15:45:33
【问题描述】:

我正在尝试在持久的 activemq 队列上抓取消息。

如果我打电话

jmsTemplate.receive("queue.response")

我收到一条消息。但是,如果我打电话

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

我在等待时超时。

我正在使用 ActiveMQ Web 控制台查看队列,我可以看到消息已准备好被使用。相关 ID 在控制台中可见,我还可以在通过直接接收(“队列..”)调用收到的消息中看到它们。

可能我的实际选择器有问题,但我能找到的每个示例看起来都像我所拥有的那样。

任何想法我做错了什么?

【问题讨论】:

  • 你试过没有'围绕Id值吗?
  • 您确定您的关联 ID 正确吗?
  • @Carlo :是的,试过不带 '.结果是它拾取了所有消息,我想是因为选择器无效。
  • @Nico :是的,双三重和四重检查了相关 ID。我将它直接从 web 控制台复制到我的代码中。
  • 您是否设置了关联 ID (docs.oracle.com/javaee/1.4/api/javax/jms/…)?

标签: java spring jms activemq


【解决方案1】:

捂脸! JMSCorrelationID 区分大小写。我正在尝试使用 JMSCorrelationId...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多