Действительно ли возможно развернуть новое .war приложение, не останавливая приложение?

Edi Weitz имеет хорошую рецензию его настроек: Windows Создания, применимый для старых пуканий Linux

5
задан Thody 2 November 2009 в 21:17
поделиться

4 ответа

Даже при горячем развертывании файла WAR (без перезапуска сервера) все равно будет некоторое время простоя, пока контекст перезагружается. Это не Grails как таковая, а скорее J2EE / сервлет.

Как сказал Догберт, лучше всего создать страницу обслуживания (использование Apache перед Tomcat - хорошая идея) и выключить сервер приложений. , загрузите новую WAR и снова запустите сервер.

2
ответ дан 18 December 2019 в 13:16
поделиться

Вы можете установить два экземпляра Tomcat с Apache mod_proxy_balancer перед ним, как описано здесь . Для повторного развертывания приложения может быть применена стратегия «последовательного обновления» (при условии, что app1 и app2 являются вашими двумя экземплярами tomcat):

  1. Отключите tomcat @ app1 в диспетчере балансировки Apache
  2. Повторно разверните приложение в tomcat @ app1
  3. Проведите небольшое тестирование с app1 и посмотрите, все ли работает
  4. Включите tomcat @ app1 в диспетчере балансировки
  5. Отключите tomcat @ app2 в диспетчере балансировки
  6. Повторно разверните приложение в tomcat @ app2
  7. Включите tomcat @ app2в диспетчере балансиров

И все готово. Для этого не нужно несколько физических или виртуальных машин - это также возможно на одном устройстве. Если обновление вашего приложения предполагает изменения базы данных, будьте осторожны. Вышеупомянутое может быть инкапсулировано, например, в скрипт gant , поэтому простое «повторное развертывание кластера grails» сделает все, что вам нужно. Такой сценарий сейчас в моем списке, но я понятия не имею, когда он будет закончен.

7
ответ дан 18 December 2019 в 13:16
поделиться

Все, что я знаю, это то, что вы можете изменить файл Groovy или файл .gsp, и после сохранения изменения будут доступны в браузере, но если есть другие типы файлов, я не совсем уверен в этой особенности.

0
ответ дан 18 December 2019 в 13:16
поделиться

После того, как ваше приложение упаковано как WAR, оно изменится на исходные файлы не будут распространяться автоматически, как при использовании run-app. В целом, я думаю, что особенно для скомпилированного кода с постоянно действующим кодом, выполнять обновления в реальном времени немного рискованно. Вы можете справиться со странной ошибкой развертывания во время разработки,

1
ответ дан 18 December 2019 в 13:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: