Ответ на этот вопрос зависит от того, используете ли вы Spring внутри контейнера J2EE (jboss и т. Д.) Или в автономном приложении.
Автономный - вы найдете проблемы с пулированием соединений. Springs SingleConnectionFactory может быть настроен для возобновления соединения при исключении, гарантирующем, что в какой-то момент соединение будет установлено и снова начнет обрабатывать очередь, но у вас все еще будет проблема с ожиданием обновления этого единственного соединения, плюс в зависимости от того, что Реализация обмена сообщениями, с которой вы работаете, и как она выполняет балансировку нагрузки. Возможно, вы застряли при подключении к одному узлу в кластере.
Если вы работаете в контейнере, вы можете положиться на фабрику соединений контейнеров, которая будет гораздо более надежной. Например, JBoss Messaging в контейнере без проблем переключается на другие узлы и обрабатывает пулы под крышками, но если вы работаете в контейнере, обычно проще создать шаблон JMS, который отстой и использует все, что обеспечивает этот контейнер.