您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
尚硅谷RabbitMQ视频-031-进阶篇-死信-测试准备
发布时间:2026-11-15 00:39:29编辑:雪饮阅读()
-
# 操作 011:死信
## 一、测试相关准备
### 1、创建死信交换机和死信队列
常规设定即可,没有特殊设置:
- 死信交换机:exchange.dead.letter.video
- 死信队列:queue.dead.letter.video
- 死信路由键:routing.key.dead.letter.video
### 2、创建正常交换机和正常队列
注意:一定要注意正常队列有诸多限定和设置,这样才能让无法处理的消息进入死信交换机
Add a new queue
Virtual host: /
Type: Default for virtual host
Name: queue.normal.video
Durability: Durable
Arguments:
x-dead-letter-exchange exchange.dead.letter.video String
x-dead-letter-routing-key routing.key.dead.letter.video String
x-max-length 20 Number
x-message-ttl 10000 Number
Auto expire | Message TTL | Overflow behaviour
Single active consumer | Dead letter exchange | Dead letter routing key
Max length | Max length bytes
Leader locator
- 正常交换机:exchange.normal.video
- 正常队列:queue.normal.video
在rabbitmq的管理端ui中创建死信交换机
Name为exchange.dead.letter.video
Type为direct
在rabbitmq的管理端ui中创建死信队列
队列名为queue.dead.letter.video
在rabbitmq的管理端ui中绑定死信队列与路由键
From exchange为exchange.dead.letter.video
Routing key为routing.key.dead.letter.video

接下来是正常的队列及交换机创建
在rabbitmq的管理端ui中创建正常交换机
正常交换机名为
exchange.normal.video
正常交换机type 为direct
在rabbitmq的管理端ui中创建常规队列
常规队列名为queue.normal.video
Arguments分别如下:
x-dead-letter-exchange:exchange.dead.letter.video
x-dead-letter-routing-key:routing.key.dead.letter.video
x-max-length:10
x-message-ttl:10000
相关释义
# `x-max-length` 作用(RabbitMQ 队列参数)
**含义:队列最大消息数量**
给队列设置 `x-max-length`,就是限制这个队列最多能存放多少条未被消费的消息**。
`x-message-ttl`:消息在队列里的存活时间,超时没消费就变成死信
接下来是java代码
3、Java 代码中的相关常量声明
public static final String EXCHANGE_NORMAL = "exchange.normal.video";
public static final String EXCHANGE_DEAD_LETTER = "exchange.dead.letter.video";
public static final String ROUTING_KEY_NORMAL = "routing.key.normal.video";
public static final String ROUTING_KEY_DEAD_LETTER = "routing.key.dead.letter.video";
public static final String QUEUE_NORMAL = "queue.normal.video";
public static final String QUEUE_DEAD_LETTER = "queue.dead.letter.video";
二、消费端拒收消息
1、发送消息的代码
@Test
public void testSendMessageButReject() {
rabbitTemplate
.convertAndSend(
EXCHANGE_NORMAL,
ROUTING_KEY_NORMAL,
"测试死信情况1:消息被拒绝");
}
关键字词:RabbitMQ,死信,测试准备
上一篇:尚硅谷RabbitMQ视频-030-进阶篇-死信-概述
下一篇:返回列表