RabbitMQ之死信队列

1:何为死信队列

死信队列也是一个正常的队列,可以被消费。
但是,死信队列的消息来源于其他队列的转发。

2:如何触发死信队列

  • 1:消息超时
  • 2:队列长度达到极限
  • 3:消息被拒绝消费,并不再重进队列,且reQueue = false

需要在消费者的 arguments 中配置死信队列,配置为:

"x-dead-letter-exchange":"自定义的交换机名称"

3:在Java中实例死信队列

3.1:生产者代码

3.2:消费者代码

4:测试效果

4.1:打开RabbimtMQ UI 页面,开启消费者

可以看到新创建了个交换机:

点击交换机:

每个交换机都有自己的队列。

4.2:关闭消费者,开启生产者,直到消息全部超时

在UI界面-队列界面

等待十秒钟之后:

可以看到消息全部从正常队列转发到死信队列中了。

4.3:此时开启消费者

可以看到消费者接收到了死信队列的消息。

5:拓展

5.1:如何定义客户端连接名称

5.2:如何限制消费者并发量


从外部给定一个线程池,消费者执行任务从该线程池获取线程。

5.3:什么叫消费预取数?


点击进入官方文档

原文地址:https://www.cnblogs.com/zgq7/p/13785760.html