2017-02-13 205 views
1

如何使用可配置的x-message-ttl實現隊列?RabbitMq:更改隊列的x-message-ttl

我有一個隊列,x-message-ttl設置爲1分鐘,我想在運行時將其更改爲2分鐘。這怎麼能實現?

我已經嘗試過用x-message-ttl = 2分鐘再次聲明隊列,但ttl都沒有改變,也沒有發佈消息。

回答

1

如果您創建了一個帶參數x-message-ttl的隊列,您無法更改它,您必須刪除並重新創建隊列。

,但你可以使用的策略:

  1. 創建隊列沒有 TTL參數
  2. 創建策略,例如:rabbitmqctl set_policy expiry ".*" "{""expires"":1800000}" --apply-to queues

這樣你可以改變隊列TTL價值