Howdy all!
I've got a quick question about the failover behavior of the JAVA API before I file a bug report (just to make sure it's not just something I'm doing). Mundane details first: QPID 0.16, AMQP 0-10; I have 2 brokers running on 2 different servers; the brokers are not clustered. I'm attempting to write code that, on failure of one broker, automatically swaps over to the other broker (failover). I'm unable to failover due to a timeout exception in the Session class (org.apache.qpid.transport). When the Session tries to resume, it will null the 'resumer' once it has finished its resuming tasks. When waiting for the commands lock in the invoke method, the code waits for the default 60 seconds and then jump down into the RESUMING switch case. At which point, since the resumer thread is null, a SessionException is thrown, causing failover to not finish. It looks as though it is expecting things to happen on separate threads, however, all of the reconnect logic is occurring on the IOReceiver thread (and according to documentation from the FailoverHandler documentation, that is not good). Am I doing something wrong, or is this a real bug? Thanks again for your continuing help! -Lance
