JAVA全系列 教程
3762个小节阅读:7094.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
确认模式(confirm)可以监听消息是否从生产者成功传递到交换机,使用方法如下:
生产者配置文件开启确认模式
xxxxxxxxxx
spring:
rabbitmq:
host: 192.168.0.162
port: 5672
username: itbaizhan
password: itbaizhan
virtual-host: /
# 开启确认模式
publisher-confirm-type: correlated
生产者定义确认模式的回调方法
xxxxxxxxxx
@SpringBootTest
public class ProducerTest {
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void testConfirm(){
// 定义确认模式的回调方法,消息向交换机发送后会调用confirm方法
rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
/**
* 被调用的回调方法
* @param correlationData 相关配置信息
* @param ack 交换机是否成功收到了消息
* @param cause 失败原因
*/
@Override
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
if (ack){
System.out.println("confirm接受成功!");
}else{
System.out.println("confirm接受失败,原因为:"+cause);
// 做一些处理。
}
}
});
rabbitTemplate.convertAndSend("my_topic_exchange","my_routing","send message...");
}
}
实时效果反馈
1. 在RabbitMQ中,需要在中配置才能开启确认模式
A 生产者
B 消费者
C 生产者和消费者
D 不需要配置
2. 在RabbitMQ中,RabbitTemplate调用方法定义确认模式的回调方法
A setReturnsCallback
B setConfirmCallback
C setReturns
D setConfirm
答案
1=>A 2=>B