No; we shouldn't be changing `Queue` objects like this; I agree with your main comment - only support broker generated names by programmatically invoking `RabbitAdmin.declareQueue()`.

In any case, the parser doesn't support `name=""` - it is as if name didn't exist and we get an `AnonymousQueue`; so we can never get a server generated queue name via the namespace.

I think we can simply change `declareQueue()` to return a String (the queue name).

If someone uses JavaConfig to create a `Queue`, it will get an auto-declared name but we need to document that such a queue can't be used in a SpEL expression such as your example, because the queue name will change if it is redeclared.

Maybe we can make a breaking change in 1.3 (or 2.0), but for now, returning the queue name from `declareQueue` will solve the user's problem.