Конфигурация веб-приложения вне или внутри файла war? - PullRequest
12 голосов
/ 26 февраля 2010

Веб-приложение обычно имеет как минимум один файл конфигурации, который содержит конфигурацию jdbc и другие параметры. Вы можете поместить такой файл (-ы) в файл .war или вне его. Каковы минусы и плюсы этих подходов? Какой у вас подход и почему?

Ответы [ 4 ]

9 голосов
/ 26 февраля 2010

Имхо, снаружи кажется наиболее удобным, если вам нужно развернуть одну и ту же войну в разных средах. Как, dev, itt, uat и производство. Одна и та же сборка разных конфигураций.

2 голосов
/ 23 ноября 2011

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

1 голос
/ 26 февраля 2010

ИМХО, лучший способ - использовать гибкий подход и позволить конфигурации быть внутри и / или вне WAR (с некоторой дополнительной логикой для порядка поиска конфигурации и имен файлов / каталогов, в которых может храниться конфигурация).

У меня есть опыт работы с совершенно разными моделями / схемами развертывания - иногда это одна сборка / много конфигураций, в другое время - даже: много сборок / одна конфигурация на одном сервере - странно, но может случиться; -).

Это может быть особенно полезно, если вы разрабатываете какую-то платформу, которую ваши клиенты / пользователи могут развернуть в пользовательских средах, не указанных во время сборки WAR.

0 голосов
/ 26 февраля 2010

Поместите их в войну и используйте своего рода профили сборки (например, профили сборки maven ). Таким образом:

  • у вас есть одношаговое развертывание. Нет ручного редактирования свойств в удаленных средах.
  • у вас могут быть разные артефакты (военные файлы) для разных сред, поэтому сборка все еще переносима, но вам не нужно открывать войны с помощью программного обеспечения ZIP для изменения настроек.

Способ реализации / использования профилей сборки зависит от вашей среды сборки.

...