20211230——开发经验(五):RabbitMQ手动删除队列

本文介绍了如何在RabbitMQ中手动删除队列及其数据。通过访问RabbitMQ管理界面,使用guest账户或者自定义账户登录,可以查看并选择特定队列进行Purge操作清除数据,或者执行Delete操作删除整个队列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除rabbitmq的队列和队列中的数据

访问http://{rabbitmq安装IP}:15672,帐号guest,密码guest(也可以使用自己创建的帐号)。
登录后访问http://{rabbitmq安装IP}:15672/#/queues,这里可以看到你创建的所有的Queue,
选中某一个Queue,下方有个Delete/Purge,展开,选择purge即可。

Delete

删除整个队列。

Purge

清楚当前队列中的数据。

欢迎加入微信群,一起讨论交流

20210609135845

L-1640844537794)]

### 配置与使用RabbitMQ中的死信队列 #### 1. Maven依赖导入 为了在项目中集成RabbitMQ并支持死信队列功能,需引入`spring-boot-starter-amqp`作为依赖项。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 此依赖提供了访问AMQP协议的支持以及Spring AMQP抽象层的功能[^1]。 #### 2. RabbitMQ连接配置 通过修改application.yml文件来设置RabbitMQ服务器的相关参数: ```yaml spring: rabbitmq: host: 83.136.16.134 port: 5672 username: guest password: guest listener: simple: acknowledge-mode: manual # 手动确认模式 default-requeue-rejected: false # 不重新入队被拒绝的消息 ``` 上述配置指定了RabbitMQ服务端地址、认证信息及监听器行为选项。其中手动应答机制(`acknowledge-mode`)对于处理失败重试逻辑至关重要;而关闭自动重排队列(`default-requeue-rejected=false`)则防止了因消费者异常而导致消息无限循环的问题。 #### 3. 死信队列的定义与绑定 创建一个专门用于接收过期或未成功消费的消息的死信交换机(DLX),并将目标业务队列与其关联起来。具体操作如下所示: - **声明DLX**: 定义一个直连型(dead-letter-exchange)或其他类型的交换机实例; - **设定策略属性**: 对于每一个可能产生死信的目标队列,在其声明时指定两个重要的头字段——`x-dead-letter-exchange`(指向DLX名称)`x-dead-letter-routing-key`(可选,指定转发给哪个路由键下的队列)。 以下是Java代码片段展示如何利用Spring Boot框架完成这些步骤: ```java @Configuration public class RabbitConfig { @Bean public Queue dlqQueue() { return new Queue("dlq.queue", true); } @Bean DirectExchange deadLetterExchange() { return new DirectExchange("my.deadletter.exchange"); } @Bean Binding bindingDead(Queue queue, DirectExchange direct){ Map<String,Object> args=new HashMap<>(); args.put("x-dead-letter-exchange","my.deadletter.exchange"); // 设置死信exchange args.put("x-message-ttl",1000); // 可选:设置TTL时间单位ms return BindingBuilder.bind(queue).to(direct).with("normal.routing.key").noargs(args); } } ``` 这段程序首先建立了名为`dlq.queue`的实际存储死信数据的目的地,并设置了相应的死信交换机`my.deadletter.exchange`。接着为正常工作的业务队列绑定了特定的路由规则的同时也赋予了一些额外参数用来指示哪些情况下应该触发向死信队列发送副本的行为。 #### 4. 处理来自死信队列的消息 最后一步就是编写对应的Listener组件去监控和响应那些进入到了死信队列里的内容。这通常涉及到解析原始消息体及其元数据(比如为什么它成为了死信),进而采取适当的动作如记录日志、通知相关人员或是尝试再次投递给其他地方继续流转下去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

出家二少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值