On Jun 3, 2014, at 2:13 PM, Brian Marick <
br...@getset.com> wrote:
> We had a situation this morning where automatic topology recovery failed with this exception. I'd like to do something to my local rabbitmq server that provokes this exeption, to see if my fix works. Is there a way?
Am I correct to think that there's no straightforward way of hooking into the autorecovery mechanism to handle a TopologyRecoveryException? In our case, the Ruby apps were written to exit and restart upon any AMQP problem. When they started in the normal way, the topology problem didn't stop them and all was well.
The Clojure apps tried the auto-recovery, got stuck with the topology exception, didn't exit, and so were hung up until manually restarted. (Fortunately, only two real users were affected.)
So what I'd like is for the Clojure apps to System/exit upon that exception. But it's swallowed (and printed) by beginAutomaticRecovery in Connection.java.
Is the only option to hand-roll non-automatic recovery?