package com.ruoyi.tms.config; import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class TmsRabbitConfig { // 延迟队列交换机 @Bean public DirectExchange delayExchange() { return new DirectExchange("car_key_delay_exchange"); } // 死信队列交换机 @Bean public DirectExchange deadExchange() { return new DirectExchange("car_key_dead_exchange"); } // 延迟队列 @Bean public Queue delayQueue() { return QueueBuilder.durable("car_key_delay_queue") .withArgument("x-dead-letter-exchange", "car_key_dead_exchange") .withArgument("x-dead-letter-routing-key", "car_key_dead_routing_key") .build(); } // 死信队列(实际消费队列) @Bean public Queue deadQueue() { return QueueBuilder.durable("car_key_dead_queue").build(); } // 延迟队列绑定 @Bean public Binding delayBinding() { return BindingBuilder.bind(delayQueue()).to(delayExchange()).with("car_key_delay"); } // 死信队列绑定 @Bean public Binding deadBinding() { return BindingBuilder.bind(deadQueue()).to(deadExchange()).with("car_key_dead_routing_key"); } }