RabbitMq:更改队列的x-message-ttl

时间:2017-02-13 11:00:40

标签: rabbitmq

如何使用可配置的x-message-ttl实现队列?

我有一个x-message-ttl设置为1分钟的队列,我想在运行时将其更改为2分钟。如何实现这一目标?

我已经尝试使用x-message-ttl = 2分钟再次声明队列但是ttl都没有改变,也没有发布消息。

1 个答案:

答案 0 :(得分:3)

如果您创建一个带有参数x-message-ttl的队列,您无法对其进行更改,则必须删除并重新创建队列。

但您可以使用以下政策:

  1. 创建队列不带 ttl参数
  2. 创建政策,例如:rabbitmqctl set_policy expiry ".*" "{""expires"":1800000}" --apply-to queues
  3. 通过这种方式,您可以更改队列TTL值