Развертывание Java веб-приложения: взрываться или не взрываться? - PullRequest
15 голосов
/ 15 июля 2011

Очень простой вопрос.У меня есть файл .war (~ 40MB) для запуска на JBoss.Какова лучшая практика для развертывания: должен ли файл войны быть развернут в разобранном формате?Или нет?

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

Но я не уверен, что развертывание войны в разобранном виде - это лучшая практика.

Пожалуйста, помогите мне понять.:)

Ответы [ 4 ]

14 голосов
/ 15 июля 2011

Должен ли файл войны быть развернут в разобранном виде? Или нет?

Это зависит от нескольких факторов:

  • Требуется ли, чтобы администраторы сервера приложений изменяли содержимое файла WAR после развертывания? Если ответ «да», особенно в тех случаях, когда речь идет о файлах свойств или конфигурации, вам следует использовать расширенный формат. Это упростит внесение изменений в файлы, не требуя повторного развертывания полного файла WAR.
  • Как вы распространяете изменения в производстве? Если вы не выполняете предварительную компиляцию своих файлов JSP, и если вы намереваетесь развернуть более новые версии JSP, скопировав их в область, содержащую развернутый файл WAR, то совершенно очевидно, что повторное развертывание огромного файла WAR не оптимальное решение. Однако обратите внимание, что это будет зависеть от ваших методов развертывания. Часто проще проверить, что файл WAR в рабочей среде является копией сгенерированной сборки из системы управления версиями с одним хешем файла WAR. Если вы развернете инкрементные изменения, вы обнаружите, что хэши будут необходимы для каждого развернутого файла.
  • Как скоро вы хотите, чтобы ваше приложение было развернуто и доступно? Этот момент является тривиальным, но есть достаточно примеров запуска приложений, для запуска которых требуется несколько минут, поскольку сервер приложений занят созданием файла WAR и воссозданием необходимых артефактов. Это может привести к значительному простою, если поведение сервера состоит в том, чтобы взорвать файл WAR при каждом перезапуске сервера приложений. Поскольку я не знаю о поведении JBoss или конкретной версии, о которой идет речь, я бы посоветовал вам проверить это самостоятельно, чтобы убедиться, что вы можете ограничить время простоя до приемлемого уровня.
8 голосов
/ 15 июля 2011

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

Разделение интересов Java EE обычно означает, что разработчик WAR - это не тот же человек, что и администратор сервера приложений. Если у разработчика нет прямого доступа, это означает, что люди, которые плохо знают приложение, вносят изменения.

Я не защищаю крайнюю ментальность, которая запрещает разработчикам модифицировать взорванную WAR, просто указываю альтернативный взгляд на ваше рассмотрение.

1 голос
/ 15 июля 2011

Если вам нужно изменить конфигурацию в вашем .war без повторного развертывания, я бы предпочел развернуть в разобранном виде. В противном случае я бы предпочел развернуть файл (тогда jboss извлечет файл в tmp/deploy/..)

0 голосов
/ 15 июля 2011

В любом случае он взорван, так что вы можете изменять свойства, даже если развернуты как война ... это не имеет значения.По крайней мере, в среде разработки.

Тем не менее, если вы развертываете в разобранном формате в рабочей среде, так что вы можете изменять файлы свойств, не большая ли проблема, что вам нужно изменить свойства (рабочей) после развертывания?И не независимо от того, использовали ли вы войну или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...