之前项目中涉及了动态配置Queue name的需求,但是解决了一直没有记录,今天看到了顺便记录下
首先声明一个Queue的bean,这里面你就可以拼接你想要的queue的name
//import org.springframework.amqp.core.Queue;
@Bean
public Queue DynamicQueue() {
return new Queue("queue_str" + someFunction.getSomeParm(), true);
}
这里True的意思是一个持久的Queue
然后就是写Listener了,注册监听该Queue
//import org.springframework.amqp.rabbit.annotation.RabbitListener
//import org.springframework.amqp.core.Message;
@RabbitListener(queues = "#{DynamicQueue.name}")
public void getMsg(Message msg) {
//...
}