这两个机制都是发送端和mq服务器之间消息的确认,可以理解为生产端ack
1、confirm机制,消息的确认,是指生产者投递消息之后,如果Broker收到消息,则会给生产者一个应答,生产者能接收应答,用来确定这条消息是否正常的发送到Broker,这种机制是消息可靠性投递的核心保障。confirm机制是只保证消息到达exchange,并不保证消息可以路由到正确的queue。
2、return机制,用于处理一些不可路由的消息,在一些特殊的情况下,当前的exchange不存在或者指定的路由key路由不到,这时如果我们需要及时监听这种消息,就需要return机制。
原代码:
properties
稍作改动,新加confirm和return 确认代码
controller模拟这两个确认机制
参考文献:
https://docs.spring.io/spring-amqp/docs/2.1.17.RELEASE/reference/html/#template-confirms
https://docs.spring.io/spring-amqp/docs/2.1.17.RELEASE/reference/html/#cf-pub-conf-ret