RabbitMQ 死信队列的使用

死信队列

DLX 死信队列。有以下几种情况,消息会进入到死信队列中:

  • 消息过期
  • 消息被拒绝
  • 队列达到最大长度

实现的逻辑就是:也是创建一个交换机,就暂时叫它死信交换机,然后再创建一个死信队列,死信交换机和死信队列进行绑定。

当设置了ttl的队列中消息过期后就会把消息发送至我们的死信交换机,死信交换机再存入死信队列中,以后肯定还会有一个死信消费者来处理死信队列中的消息的。其实这还是一个提供者–>交换机—>队列---->消费者的过程。

问题是我们怎么让ttl队列过期后的消息发送至死信交换机中?

首先创建死信交换机、死信队列、绑定关系

/**
 * @author hs
 * @date 2021/06/29
 */
@Configuration
public class DeadConfiguration {
   

    @Bean
    public DirectExchange deadDirectExchange(){
   
        return new DirectExchange("dead_direct_exchange");
    

你可能感兴趣的:(小知识点,rabbitmq,java,分布式)