Tibco EMS队列在桥接时需要清除



我在生产系统上有一个Tibco EMS消息队列,它将消息从单个生产者路由到单个消费者应用程序。

我们正在垂直扩展应用程序,但由于资金限制,我们无法成对扩展两个应用程序。

单个生产者将消息路由到消息代理,消息代理将需要根据消息选择器将消息桥接到3个消费者中的1个。

我已经设置了一个队列桥接器和选择器,将生产者队列上的消息路由到消费者队列。这是一个1对多的队列桥接。

我注意到桥接的消费者队列有附加到它们的消费者,并且它们基于选择器正确地接收消息,但是生产者队列保留了必须在一天结束时手动清除的消息副本。

使用桥接器和选择器处理此场景的最佳方法是什么,以便消息在被消费(持久)之前保留在代理上,但是一旦消息被消费者队列消费,则由代理删除消息。

处置原始队列中这些消息的最简单方法是在队列中引入MaxMsgs和MaxBytes。

对于您的要求,原始队列上的消息只有在其中一个桥接队列上被消费时才能被处置,这是不可能的。

也就是说,它也不需要,因为桥接队列保留自己的消息副本,而不管源队列中的消息发生了什么。所以原始队列中过期的消息对已经桥接的消息没有影响

最新更新