Всем привет.
Пишу программу *.war. Соответственно разрабатываю и тестирую на своём рабочем компе. Для деплоя есть linux сервер. В приложении есть настройки. Например, есть учётка, под которой моё приложение ходит по ntlm к стороннему сервису в windows. Вот на примере этого параметра и хотел сформулировать вопрос. Куда его лучше "спрятать" не "зашивая" в war-файл? И чтобы другие war приложения не могли его прочитать (из соображений безопасности). Мне очень нравится как "это" сделано в IIS. Там есть файл "web.config" он текстовый и лежит в директории, я могу его поправить и перезапустить приложение в IIS и оно снова прочитает параметры из этого файла. Другие приложения его читать не могут. Можно как-то аналогично сделать под tomcat?
P.S. Домашние каталоги не предлагать, т.к. к нему могут иметь доступ все приложения, запущенные под tomcat.
Update:
2016-04-27 14:05:23
Нашёл "этот" стандартный метод, заложенный именно для этих целей в самом tomcat. Вполне возможно, что в других контейнерах (glassfish/jetty и др.) это тоже предусмотрено. Суть в том, чтобы читать дополнительные настройки приложения стандартным методом:
Этот стандартный метод называется
context parameter. Суть работы в следующем. Вы кладёте файл в каталог tomcat/conf/Catalina/localhost/[webappname].xml файл со следующими параметрами:
Теперь, когда tomcat видит этот файл в каталоге conf/..., то читает параметры из него, а не из web.xml.
Так гораздо удобнее хранить отдельно настройки разрабатываемого приложения, т.к. деплой приложения становится полностью независимым по параметрам от компьютера разработчика. Если, разработчик параметризует приложение, конечно.