Here is my version of your patch...
Looks like we were going down the same path concurrently. BTW, I only see the queue (re) declaration problem sporadically.
I think the failure to declare the queue is because it is still in the process of being moved to the new master and we reconnected while it was not yet fully baked.
So, I added some retry logic. Of course, I have run many tests since, and I haven't seen the retry hit yet
Gary P. Russell
Spring Integration Team
SpringSource, a division of VMware