提问者:小点点

通过spring在RabbitMQ扇出交换上发送和接收


我正在使用RabbitMQ,我对使用扇出交换和RabbitTemplate类的ConvertsendandReceive(或SendandReceive)方法感到困惑。

例如,我有两个持久队列的使用者QUEUE-01和QUEUE-02,它们绑定到持久扇出交换fanout-01。并将1个发布服务器发送到FANOUT-01。我理解当消息使用convertandsend(或send)方法发布时会发生什么,消息将被复制到每个队列并由每个使用者处理。但我不确定如果我将调用sendandreceive方法会发生什么?我会从哪位消费者那里得到回复?有什么特别的行为吗?我找不到这方面的任何文件。


共1个答案

匿名用户

sendandreceive()不适用于扇出消息;至于哪一个答复会赢(一般是第一个)还不确定。如果要处理多个回复并聚合它们,则需要使用离散的sendreceive调用(或回复的侦听器容器)并自己进行聚合。

考虑对此类情况使用spring集成。它有用于聚合消息的内置组件。