RabbitMQ使用Sping Boot ,如果队列不存在,则应创建队列

qrjkbowd  于 8个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(106)

我从多个来源向RabbitMQ发送数据,如果队列不存在,我想创建它。

public void sendMessage(String message, String routingKey) {
        rabbitTemplate.convertAndSend(routingKey, message);
}
4sup72z8

4sup72z81#

参见文档https://docs.spring.io/spring-amqp/docs/current/reference/html/#broker-configuration。
使用Sping Boot ,您只需要添加一个Queue@Bean,因为 Boot 将自动配置一个RabbitAdmin bean,该bean将在首次打开连接时找到它并提供它。
您还可以添加交换和绑定。

@Bean
public Queue queue() {
    return QueueBuilder.nonDurable("foo")
        .autoDelete()
        .exclusive()
        .withArgument("foo", "bar")
        .build();
}

如果队列已经存在,则它必须具有相同的属性和参数。

相关问题