Spring amqp 死信交换与多个队列绑定

问题描述 投票:0回答:2

在我的应用程序中,使用两个队列,这两个队列通过键 a 与一个交换器绑定。. 与此键正则表达式匹配的任何消息都将进入两个队列。

案例2:我正在尝试使用死信交换机制来实现延迟消息和最大重试,以防消费者出现业务异常。

问题案例假设队列的消费者之一通过业务异常......它将进入dlx,然后进入主异常......然后从主异常......消息将进入两个队列。这是我面临的问题......我希望重试消息应该仅从发生消费者异常的地方发送到该队列。

现在在我的情况下,重试消息将发送到所有队列并创建重复消息。

java spring-boot rabbitmq spring-amqp spring-rabbit
2个回答
0
投票

您可以为每个队列添加第二个特定于队列的绑定;然后使用该特定路由密钥配置每个 DLQ...

x-dead-letter-exchange=mainExchange
x-dead-letter-routing-key=retryMainQ1

当然,你需要2个DLQ。


0
投票

我也有同样的问题。。你解决了吗?

© www.soinside.com 2019 - 2024. All rights reserved.