Назад | Перейти на главную страницу

JBoss - горячее развертывание EJB с несколькими зависимыми

Мы хотим развернуть новую версию EJB, дело в том, что несколько EJB и WAR зависят от этого EJB. Таким образом, мы должны перезапускать сервер каждый раз, чтобы убедиться, что все EJB / WAR запущены и работают правильно.

Основная трудность здесь заключается в большом количестве зависимостей, поэтому слишком много работы, чтобы включать / отключать каждое приложение все время, когда мы развертываем более новую версию EJB с несколькими зависимыми объектами, перезапуск сервера быстрее и безопаснее для нас.

Мы пытаемся понять, как избежать простоев нашей среды. Нам необходимо быть в сети все время, и для этого перезапуск сервера не является жизнеспособным решением.

Мы используем JBoss EAP 6.3.

Какой подход можно применить в этих случаях?

Радослав Гусар объясняет в этом обсуждение как решить развертывание в производственных средах с минимальным временем простоя.

Чтобы сделать это на автономном JBoss / WildFly, нужно:

  1. запустить новый узел AS, развернуть новую версию приложения
  2. перейти к mod_cluster консоль менеджера, отключите контекст со старой версией
  3. слить все сессии из старой версии приложения
  4. удалить старый экземпляр

Если вы уже работаете в режиме высокой доступности и данные сеанса совместимы через новую и старую версии приложения:

  1. слить сеансы с 1-го узла кластера
  2. обновить приложение, вернуть узел
  3. повторить для всех серверов

Если вы используете режим высокой доступности, но данные сеанса несовместимы:

  1. то же, что и выше, за исключением того, что серверы добавляются обратно в другой кластер с другой группой балансировки нагрузки, чтобы данные сеанса не конфликтовали.