我将 RabbitMQ 与 Spring 的 RabbitTemplate 结合使用。
使用模板发送方法向队列发送消息时,如果队列不存在,我希望自动创建/声明队列。
这非常重要,因为根据我们的业务逻辑,队列名称是在运行时生成的,我无法提前声明它们。
之前我们使用了 JmsTemplate 并且任何发送或接收的调用都会自动创建队列。
最佳答案
您可以使用 RabbitAdmin 来自动声明交换器、队列和绑定(bind)。查看this线程以获取更多详细信息。这forum也与您的场景有关。虽然我没有尝试过使用 AMQP 的 spring,但我相信这会成功。
/**
* Required for executing adminstration functions against an AMQP Broker
*/
@Bean
public AmqpAdmin amqpAdmin() {
return new RabbitAdmin(connectionFactory());
}
继续编码!
关于java - Spring RabbitTemplate - 如何在发送时自动创建队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46872274/