Currently on the [0-8..0-91] path in the Java Broker, queue.declare with an argument of passive false will close the channel if the queue already exists but has different durability. The message is "cannot re-declare queue qqqqq with different durability (was: xxxxx requested yyyyy)".
As the default behaviour of the AMQP JMS Client 0-8..0-91 is to automatically declare queues as a side effect of consumer creation, this effectively means that the knowledge of a queue's required durability needs to be spread across all applications. For installations typical of large institutions, this is operationally inconvenient and inflexible.
The relevant AMQP specifications make no statements regarding the required behaviour of an active queue.declare if the queue already exists with a different durability.
This change will remove the validation. In future, if the queue already exists, the queue declare will succeed even if durability is different. The validations around exclusivity,. auto-delete, and the non-passive flag are unaffected by this change.