拥有一个AMQ经纪人和100个消费者。我会将消息发送给某个特定的消费者,这样其他消费者就不会收到消息(客户端过滤将不起作用)。
最简单的方法是创建虚拟目的地(将其命名为queue:consumer-)并在那里发送消息。但是,这将导致100个新队列,这使得监控更加复杂。如果只有一个队列,还有其他方法可以做到这一点吗?
你可以用JMS selectors .
您将为每个消费者指定一个唯一的ID,生产者必须知道这些ID,才能只发送给特定的消费者。消费者必须进行协作,并设置一个选择器,以仅接收指定给自己ID的消息以及指定给所有/任何消费者的消息。