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

时间:2017-01-16 13:50:18

标签: java spring-boot rabbitmq spring-amqp spring-rabbitmq

在我的应用中,使用两个队列,这些队列与一个交换机绑定一个密钥a。 任何与此密钥正则表达式匹配的消息都将转到这两个队列。

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

问题情况假设一个队列的消费者通过业务异常....它将转到dlx然后转到主要异常.....然后从主要异常......消息传递到两个队列。这是我面临的问题.....我希望重试消息只能从发生消费者异常的地方进入该队列。

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

1 个答案:

答案 0 :(得分:0)

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

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

当然,您需要2个DLQ。