AlexXYZ
@AlexXYZ
O Keep Clear O

Tomcat java web application где хранить настройки приложения для конкректного сервера?

Всем привет.

Пишу программу *.war. Соответственно разрабатываю и тестирую на своём рабочем компе. Для деплоя есть linux сервер. В приложении есть настройки. Например, есть учётка, под которой моё приложение ходит по ntlm к стороннему сервису в windows. Вот на примере этого параметра и хотел сформулировать вопрос. Куда его лучше "спрятать" не "зашивая" в war-файл? И чтобы другие war приложения не могли его прочитать (из соображений безопасности). Мне очень нравится как "это" сделано в IIS. Там есть файл "web.config" он текстовый и лежит в директории, я могу его поправить и перезапустить приложение в IIS и оно снова прочитает параметры из этого файла. Другие приложения его читать не могут. Можно как-то аналогично сделать под tomcat?

P.S. Домашние каталоги не предлагать, т.к. к нему могут иметь доступ все приложения, запущенные под tomcat.

Update:
2016-04-27 14:05:23

Нашёл "этот" стандартный метод, заложенный именно для этих целей в самом tomcat. Вполне возможно, что в других контейнерах (glassfish/jetty и др.) это тоже предусмотрено. Суть в том, чтобы читать дополнительные настройки приложения стандартным методом:

ffabb4d81f364a3486bac7988a9238e7.png

Этот стандартный метод называется context parameter. Суть работы в следующем. Вы кладёте файл в каталог tomcat/conf/Catalina/localhost/[webappname].xml файл со следующими параметрами:

ae6f7f0736d0411985b93dc34d13265a.png

Теперь, когда tomcat видит этот файл в каталоге conf/..., то читает параметры из него, а не из web.xml.

Так гораздо удобнее хранить отдельно настройки разрабатываемого приложения, т.к. деплой приложения становится полностью независимым по параметрам от компьютера разработчика. Если, разработчик параметризует приложение, конечно.
  • Вопрос задан
  • 1052 просмотра
Пригласить эксперта
Ответы на вопрос 1
gr1mm3r
@gr1mm3r
50% ответа в правильном вопросе. Остальное мануал.
/opt/app_name

не предлагать ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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