Приветствую!
Имеется кластер JBoss(2 ноды), на нем работает несколько WEB-приложений плюс имеется одно приложение, которое должно коннектится к JBoss'у(удаленный клиент), юзаются JMS. HAProxy используется для балансировки нагрузки между нодами. С WEB-ом все ок, а вот с клиентом проблема. Для общения с сервером юзаются JMS сообщения. Так как прием сообщений происходит только на одной из нод(которая стартанет первой), то если подключиться к другой получается длинный Exception, вернее даже несколько, на тему «javax.naming.NameNotFoundException: XAConnectionFactory not bound».
В конфиге HAProxy можно одну из нод пометить backup, тогда коннекты будут на другую, пока она не отвалится. Но в этом случае как только первая поднимется, то HAProxy опять все будет на нее слать, в то время как ожидать подключений будет вторая нода и, соответственно, на первой будет NameNotFoundException.
Необходимо коннекты по 1098,1099 и 1100 портам слать сначала на одну ноду пока не отвалится, затем на вторую пока и она не сдохнет, даже если первая оживет раньше, и лишь потом вернуться на первую.
Архитектура корявая, да и JBoss древний - 4.2.3, но сейчас есть потребность просто дотянуть до переделки.