更改现有队列的参数

时间:2016-04-13 15:12:31

标签: spring spring-amqp

我想设置现有队列的“x-message-ttl”,但是说不可能:

  

重要   RabbitMQ代理不允许声明具有不匹配参数的队列。例如,如果队列已经存在且没有时间生存参数,并且您尝试使用,例如,key =“x-message-ttl”value =“100”来声明它,则会抛出异常。

默认情况下,当发生任何异常时,RabbitAdmin将立即停止处理所有声明;这可能会导致下游问题 - 例如侦听器容器无法初始化,因为未声明另一个队列(在错误的队列之后定义)。

可以通过在RabbitAdmin上将ignore-declaration-failures属性设置为true来修改此行为。此选项指示RabbitAdmin记录异常,并继续声明其他元素。

http://docs.spring.io/spring-amqp/docs/1.3.9.RELEASE/reference/html/amqp.html#broker-configuration

RabbitAdmin不支持此功能的原因是什么?通过Rabbit UI或CLI,可以更改现有队列的参数,或者?

是否有解决方法来更改现有队列的参数?

谢谢!

丹尼斯

1 个答案:

答案 0 :(得分:3)

RabbitMQ不允许这样的更改。

From the rabbit team:

  
    

是否可以更改现有队列上的参数而不删除并重新创建它?

  
     

没有