RabbitMQ的消息确认机制
转: https://www.toutiao.com/a6583957771840913934/?tt_from=mobile_qq&utm_campaign=client_share×tamp=1532999387&app=news_article&utm_source=mobile_qq&iid=39062783162&utm_medium=toutiao_android 一:确认种类 RabbitMQ的消息确认有两种。 一种是消息发送确认 。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。 第二种是消费接收确认 。这种是确认消费者是否成功消费了队列中的消息。 二:消息发送确认 (1) ConfirmCallback 通过实现ConfirmCallBack接口,消息发送到交换器 Exchange 后触发回调。 使用该功能需要开启确认,spring-boot中配置如下: spring.rabbitmq.publisher-confirms = true (2) ReturnCallback 通过实现ReturnCallback接口,如果消息从交换器发送到对应队列失败时触发(比如根据发送消息时指定的routingKey找不到队列时会触发) 使用该功能需要开启确认