Edi Weitz имеет хорошую рецензию его настроек: Windows Создания, применимый для старых пуканий Linux
Даже при горячем развертывании файла WAR (без перезапуска сервера) все равно будет некоторое время простоя, пока контекст перезагружается. Это не Grails как таковая, а скорее J2EE / сервлет.
Как сказал Догберт, лучше всего создать страницу обслуживания (использование Apache перед Tomcat - хорошая идея) и выключить сервер приложений. , загрузите новую WAR и снова запустите сервер.
Вы можете установить два экземпляра Tomcat с Apache mod_proxy_balancer
перед ним, как описано здесь . Для повторного развертывания приложения может быть применена стратегия «последовательного обновления» (при условии, что app1 и app2 являются вашими двумя экземплярами tomcat):
И все готово. Для этого не нужно несколько физических или виртуальных машин - это также возможно на одном устройстве. Если обновление вашего приложения предполагает изменения базы данных, будьте осторожны. Вышеупомянутое может быть инкапсулировано, например, в скрипт gant , поэтому простое «повторное развертывание кластера grails» сделает все, что вам нужно. Такой сценарий сейчас в моем списке, но я понятия не имею, когда он будет закончен.
Все, что я знаю, это то, что вы можете изменить файл Groovy или файл .gsp, и после сохранения изменения будут доступны в браузере, но если есть другие типы файлов, я не совсем уверен в этой особенности.
После того, как ваше приложение упаковано как WAR, оно изменится на исходные файлы не будут распространяться автоматически, как при использовании run-app. В целом, я думаю, что особенно для скомпилированного кода с постоянно действующим кодом, выполнять обновления в реальном времени немного рискованно. Вы можете справиться со странной ошибкой развертывания во время разработки,