微服务 教程
1085个小节阅读:195.8k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
RabbitMQ消息投递的路径为:
生产者
--->交换机
--->队列
--->消费者
在RabbitMQ工作的过程中,每个环节消息都可能传递失败,那么RabbitMQ是如何监听消息是否成功投递的呢?
首先我们准备两个SpringBoot项目,分别代表生产者和消费者,配置文件如下:
xxxxxxxxxx
spring
rabbitmq
host192.168.0.162
port5672
username itbaizhan
password itbaizhan
virtual-host /
#日志格式
logging
pattern
console'%d{HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n'
在生产者的配置类创建交换机和队列
xxxxxxxxxx
public class RabbitConfig {
private final String EXCHANGE_NAME="my_topic_exchange";
private final String QUEUE_NAME="my_queue";
// 1.创建交换机
"bootExchange") (
public Exchange getExchange(){
return ExchangeBuilder
.topicExchange(EXCHANGE_NAME) // 交换机类型
.durable(true) // 是否持久化
.build();
}
// 2.创建队列
"bootQueue") (
public Queue getMessageQueue(){
return QueueBuilder
.durable(QUEUE_NAME) // 队列持久化
.build();
}
// 3.将队列绑定到交换机
public Binding bindMessageQueue( ("bootExchange") Exchange exchange, ("bootQueue") Queue queue){
return BindingBuilder.bind(queue).to(exchange).with("my_routing").noargs();
}
}
实时效果反馈
1. 在RabbitMQ中,可以监听消息是否从生产者成功传递到交换机
A confirm
B return
C Ack
D 以上说法都不对
2. 在RabbitMQ中,可以监听消费者是否成功处理消息
A confirm
B return
C Ack
D 以上说法都不对
答案
1=>A 2=>C