我在生产系统上有一个Tibco EMS消息队列,用于将消息从单个生产者路由到单个消费者应用程序。
我们正在垂直扩展应用程序,但由于财务限制,我们无法成对扩展这两个应用程序。
单个生产者将消息路由到消息代理,消息代理需要根据消息选择器将消息桥接到3个消费者中的1个。
我已经设置了一个队列桥接器和选择器来将生产者队列上的消息路由到消费者队列。这是1到多个队列桥。
我注意到桥接的使用者队列有消费者附加消费者并且他们正在根据选择器正确接收消息,但是生产者队列保留了消息的副本,这些消息必须在一天结束时手动清除。
使用网桥和选择器处理此方案的最佳方法是什么,以便在代理消耗(持久)之前将消息保留在代理上,但消费者队列消耗消息后,代理会删除该消息
答案 0 :(得分:1)
处理原始队列的这些消息的最简单方法是在队列中引入MaxMsgs和MaxBytes。
至于您要求原始队列上的消息只能在其中一个桥接队列上使用时才会被处置,这是不可能的。
也就是说,它也不需要,因为无论源队列中的消息发生了什么,桥接队列都会保留自己的消息副本。因此,原始队列中的过期消息对已经桥接的消息没有影响