根据https://www.rabbitmq.com/queues.html#property-equivalence
当现有队列属性与声明中的队列属性不同时,将引发具有代码406(PRECONDITION_FAILED)的通道级异常。
此验证适用于像“x-dead-letter-exchange”这样的开箱即用的参数但是它不适用于我的自定义参数。我的队列只是重新声明没有错误。
这是正确的行为吗?我可以将自定义参数添加到等效验证吗?
RabbitMQ只验证一组众所周知的x- *声明参数 -
https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.11/src/rabbit_amqqueue.erl#L578-L588
以及其他一些队列属性 -
https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.11/src/rabbit_amqqueue.erl#L533-L534
注意:RabbitMQ团队监控rabbitmq-users
mailing list,有时只回答StackOverflow上的问题。