我在尝试找出此问题的解决方案时遇到了一些问题:我需要在Apache Camel上实现一个DLC,但是当消息从ActiveMQ上的死信队列中出列时,必须将其中的每一个消息与另一个AMQ队列上的最新消息进行比较。
所以要明确的是:当Camel从队列1(死信队列)中消耗消息M1时,在试图将其重新发送到某个路由之前,它必须将M1与队列2上出现的最新消息M2进行比较(例如报头比较)。M2将不会从队列2中移除(它还将用于下一次比较),而M1必须从队列1中移除。
我想了解这是否可行,以及为了实现这一点,我缺少哪一个EIP。
1条答案
按热度按时间7rfyedvj1#
您所需要的是a
QueueBrowser
来浏览queue 2的消息而不使用它们。或者,您也可以在交易中使用queue 2,然后胁迫回复,以便不使用消息。但是,当“queue 2上出现的最新消息”不是指第一个消息时,这将不会发生作用,因为您只能像这样行程第一个消息。