一、创建类并实现回调与回退接口
@Slf4j
@Component
public class MyCallBack implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnsCallback {
}
实现 RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnsCallback中的接口
实现RabbitTemplate.ConfirmCallback接口
- correlationData回调的相关数据
- ack 交换机是否接收到消息 ack为真,nack为假
- cause 报错的原因 如果没有报错就是null
在spring-boot2.5版本后删除了以前RabbitTemplate.ReturnsCallback中的returnedMessage方法
新方法简化了之前的操作,从而用returned用于返回的消息和元数据
- getMessage 退回消息给交换机
- getExchange 交换机退回给用户
- getReplyCode 获取返回码,返回:回复代码
- getReplyTest 退回的原因
- getRoutingKey 获取路由
将两个接口注入到RabbitTemplate中
设置yaml
消费者中添加
CorrelationData correlationData = new CorrelationData();