Где разместить специфичные для приложения конфигурации j2ee web app / properties / APP_HOME? - PullRequest
0 голосов
/ 27 июля 2011

# 1 - Где находится общее место для хранения конфигурации веб-приложения, которое необходимо сохранить после перезапуска и повторного развертывания приложения?Он должен находиться где-то за пределами каталога веб-приложения, чтобы избежать перезаписи при развертывании новой войны.Один пример, который я нашел, - это всегда использовать $ HOME / .my_app_name для пользователя, запустившего веб-контейнер, но что если пользователь изменится?Все настройки будут потеряны.

# 2 - Каков общий способ информирования моего веб-приложения об этом местоположении, если оно динамическое?

Это единственный пример, который мне удалось найти, но я не нашел никаких формальных инструкций для этого стандарта.http://wiki.hudson -ci.org / дисплей / HUDSON / Администрирование + Хадсон

1 Ответ

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

Я так понимаю, что это нужно для записи?Таким образом, о classpath не может быть и речи.

Укажите путь в качестве аргумента запуска JVM:

-Dconfig.location="/path/to/config/files"

Таким образом, он доступен для System#getProperty().

String configLocation = System.getProperty("config.location");
File configFile = new File(configLocation, "config.properties");
// ...

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

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