1

我的 JMS 中有一个队列。在向队列发送消息时,我将 JMStype 称为“XYZ”。在消费者端,我有一个 onMessage 监听器。我想知道的是以下

  1. 在 onMessage 侦听器中,如何在不使消息出队的情况下检查消息的 JMStype。如果我正在运行的实例发现 JMStype 不是“XYZ”,那么它不应该做任何事情并且不应该将它从我的队列中出列。只有需要 JMStype 'XYZ' 消息的实例才应将消息出列并进一步处理它。

感谢您抽出宝贵时间阅读我的查询。

4

1 回答 1

1

我建议使用消息选择器而不是JMSType为此目的。Spring JMS消息侦听器允许您根据 JMS 属性和 JMS 标头过滤消息。

将消息写入队列时,您可以将消息属性设置为"type='abc'",在侦听器的配置中,您可以通过提供messageSelector="type='abc'".

这样,只有与选择器匹配的消息才会从队列中挑选出来。

于 2014-12-08T11:42:19.817 回答