0

**我在生产者端设置 JMS 过滤器,即 jmsMessage.setObjectProperty("FILTER",filterId1) ...

所以这是一对一的关系。即键 FILTER 仅与一个值相关联,即 filterId1 ( msg 由值为 filterid1 的消费者使用)....

但我想要一对多的关系,即。FILTER 与许多 filterId 相关联(filterId1 或 filterId2 或 filterId3 或 filterId4 或 filterId5 )具有任何这些 filterId 之间的值的消费者可以消费消息.....

如果没有 jms 中的任何功能,那么我们如何以编程方式实现它.....**

4

1 回答 1

0

您可以在过滤器上使用 Between,但我怀疑您可能应该为您的集合使用不同的队列。如果您有许多要扫描的邮件,过度使用过滤器会给您带来不好的性能。

我更喜欢带有过滤器的订阅,或者只是为您需要的东西使用多个队列。

但这不仅仅是简单地回答你的问题,一个简单的答案是在你的消费者的过滤子句上使用 BETWEEN 。

(另外:生产者中没有 JMS 过滤器之类的东西。过滤器仅适用于消费者。我假设您的意思是设置一些将在过滤器上使用的数据)。

于 2013-04-25T16:33:25.950 回答