Я бы предложил использовать аварийный транспорт AMQ для вашего случая. Например: попробуйте эту форму URL (доступно в AMQ версии 5.3 и далее):
failover:(tcp://jms.host1:61616,tcp://jms.host2:61616,tcp://jms.host3:61616)?timeout=5000
Это просто означает, что попробуйте подключить JMS-брокеры, работающие на jms.host1, jms.host2, jms.host3, в течение 5 секунд и вернуть клиенту сообщение об ошибке, если соединение недоступно. Он также позаботится об автоматическом восстановлении после сбоя для подключения к jms.host1 или jms.host3, если ваш клиент потеряет соединение с jms.host2.
Посмотрите на этой странице документацию по отказоустойчивому транспорту: http://activemq.apache.org/failover-transport-reference.html