java - Spring RabbitTemplate - 如何在发送时自动创建队列

标签 java spring rabbitmq spring-amqp spring-rabbit

我将 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/

相关文章:

java - Spring Web Security 只限制单页

java - 如何获取文件名并将其设置为 Ant 中的属性?

java - Hibernate - 自定义插入数据库

java - 如何在 Scala 或 Java 中读取具有混合编码的文本文件?

spring - Gradle | Spring boot 依赖不排除

java - JsonParseException : Unexpected character ('i' (code 105)): was expecting double-quote

java - 在 MethodInterceptor 中获取目标

java - @Autowired session 范围 bean 不指向同一实例

Rabbitmq-设计消息重放服务

rabbitmq - 是否应该在 RabbitMQ 中多次声明交换或队列?