为什么rabbitmq的队列绑定会自动更改?

时间:2016-03-03 00:29:13

标签: java clojure rabbitmq

我创建了一个队列" a.1" ,交换" a"并通过rabbitmq通道将它们绑定在一起。该通道处于连接状态,具有大约3个通道。正常运行20-30分钟后,绑定消失,队列绑定到默认交换。我在rabbitmq admin中看到它,我看到队列一旦关闭并自动恢复。恢复后,我可以看到频道已更改。频道信息:ip:2341(633),端口更改为ip:3350。但是队列被绑定到默认交换。为什么rabbitmq有这种奇怪的行为?如何避免它?

1 个答案:

答案 0 :(得分:2)

您正在使用auto-delete个队列,这意味着如果所有消费者进入队列,将自动删除。然后另一个通道可以重建具有相同名称的队列。 因此,如果要创建具有相同名称的队列,则可以确保在创建时将其绑定。或者,您可以为删除队列添加过期TTL以等待一段时间(允许其他频道开始消费)。