关于消息投递确认方面的问题

来源:3-4 RabbitMQ整合SpringBoot2-消息可靠性投递-实现方案落地代码详解-3

杨mo

2019-01-13 22:38

如果路由失败 触发returnCallBack这个方法(replyCode=312) 使得confirm的ack为true 也就是并没有发送到服务器 但是返回ack=true,这种情况怎么解决呢
写回答 关注

1回答

  • 慕娘8336713
    2019-07-29 18:10:06
    confirm是生产者将消息发送到交换机后的回调,ack是true,说明消息已经成功发送到交换机了;
    returnCallBack是交换机路由到队列的回调,所以路由失败跟ack没关系;
    解决方案:
    路由失败的时候,把当前消息保存下来(自己随意,不丢就行),然后再针对这部分消息做补偿;

RabbitMQ消息中间件极速入门与实战

入门RabbitMQ,并整合SpringBoot2.x,实现100%消息的可靠性投递!

42055 学习 · 143 问题

查看课程

相似问题