网站Logo MsBlog
首页
友链
关于
登录
RabbitMQ消息确认机制-可靠抵达

RabbitMQ消息确认机制-可靠抵达

为了确保消息的可靠传递,可以采用事务消息,但其性能会大幅下降。为此,引入了确认机制以提高效率。确认机制包括生产者端的ConfirmCallback和ReturnCallback以及消费者端的ack机制。 - **ConfirmCallback**:通过设置`spring.rabbitmq.publisher-confirms=true`或`spring.rabbitmq.publisher-confirm-type=correlated`开启,并在RabbitTemplate中设置确认回调,当消息被成功接收时触发。 - **ReturnCallback**:通过配置`spring.rabbitmq.publisher-returns=true`及`spring.rabbitmq.template.mandatory=true`启用,在消息未能正确路由到队列时触发回调。 - **消费者确认**:默认情况下,消费者自动确认消息;若需手动控制,则应将`spring.jms.listener.acknowledge-mode`设为`manual`,并在监听器中实现具体的消息签收(`basicAck`)或拒收逻辑(`basicNack`/`basicReject`)。这样即使处理过程中出现问题,也能保证消息不会丢失。

2021-07-19
2648
0
java
总结
MQ
RabbitMQ
RabbitMQ消息确认机制-可靠抵达