我可以在 Rabbit MQ 上使用 spring 配置删除队列吗?

BSr*_*vas 1 spring amqp rabbitmq spring-rabbit

我正在为 RabbitMQ 上的队列更改一些交换,但是如果队列已经存在,我需要手动删除,那么只有 spring 会使用更改后的交换创建队列。

我们在 spring rabbit 中是否有任何选项可以根据 spring 文件中的队列配置删除队列。

例如:我期待 rabbit:deletequeue name="a" 并再次创建 rabbit:queue name="a"

因此,它将删除队列,然后使用新属性再次创建,以消除在 Rabbit MQ 上手动删除队列的情况。

如果我错了,请纠正我,否则请指导我提供解决方案

斯里尼瓦斯

mav*_*azy 5

你可以使用 AmqpAdmin

3.8 http://docs.spring.io/spring-amqp/reference/html/amqp.html

public interface AmqpAdmin {

    // Exchange Operations

    void declareExchange(Exchange exchange);

    void deleteExchange(String exchangeName);

    // Queue Operations

    Queue declareQueue();

    String declareQueue(Queue queue);

    void deleteQueue(String queueName);

    void deleteQueue(String queueName, boolean unused, boolean empty);

    void purgeQueue(String queueName, boolean noWait);

    // Binding Operations

    void declareBinding(Binding binding);

    void removeBinding(Binding binding);

    Properties getQueueProperties(String queueName);
}
Run Code Online (Sandbox Code Playgroud)

或者只是创建一个带有 autoDelete 选项的队列。