У нас есть решение TIBCO EMS, которое использует встроенное аварийное переключение серверов в среде с 2–4 серверами. Если TIBCO управляет услугами переключения при отказе с одного сервера EMS на другой, предполагается, что соединения будут автоматически передаваться на новый сервер на уровне обслуживания EMS. Для наших приложений C #, использующих службу EMS, этого не происходит - наши пользовательские подключения не передаются на новый сервер после отработки отказа, и мы не знаем, почему.
Наше приложение подключается к EMS только при запуске, поэтому, если администраторы TIBCO отработали отказ после того, как пользователи запустили наше приложение, им пользователям необходимо перезапустить приложение, чтобы повторно подключиться к новому серверу (наше соединение EMS использует строку сервера, включающую все 4 производственных сервера EMS - если первая попытка не удалась, он переходит к следующему серверу в строке и пытается снова).
Я ищу автоматизированный подход, который будет периодически пытаться повторно подключиться к EMS, если он обнаруживает, что соединение не работает, но я не уверен, как это лучше всего сделать.
Любые идеи? Мы используем TIBCO.EMS.dll версии 4.4.2 и .Net 2.x (приложение SmartClient)
Любая помощь будет оценена.