阻塞路由直到消费者收到消息

Block route until consumer receives message

我有这样的路线:

[producer1]--->[blocker]--->                 
                           |--->[aggregator]---> [consumer]
[producer2]---------------->

Producer1producer2 正在将消息推送到 aggregator。如果有两条具有相同 id 的消息,则聚合完成,聚合后的消息将被路由到消费者。

是否可以在producer1发送消息给aggregator后屏蔽路由?像 wait until the consumer receives the aggregated message 这样的东西。

不,这是不可能的,因为聚合器是两条腿的。因此,从聚合器中输出的内容与输入的内容无关。

然而,您可以构建一个 java bean 并使用 CountDownLatch,然后在调用聚合器后阻塞,然后在收到来自聚合器的传出消息时发出倒计时信号。