Документ создан: 17.07.2014

Создание конфигурации приложения без перезагрузки сервера.

Есть сервер tomcat, который нельзя перегружать без особой необходимости. Появилось приложение, которое нужно разместить и которое использует соединение с БД, не описанное в "$CATALINA_HOME/conf/context.xml". Но мы же помним, что сервер перегружать нельзя. Как быть?
Как вариант можно создать файл "$CATALINA_HOME/conf/[enginename]/[hostname]/[AppNAME].xml" (например, "./conf/Catalina/localhost/myapp.xml"), в который поместить настройки, в том числе и отвечающие за соединение с БД, специфичные для приложения "AppNAME". Прелесть такого подхода в том, что изменение файла не требует перезагрузки сервера и даже приложение в большинстве случаев перегружать не нужно. Таким образом, мы можем убедиться в работоспособности приложения на конкретном сервере с требуемыми настройками, затем эти настройки, при необходимости, можем перенести в "$CATALINA_HOME/conf/context.xml" и, при случае перегрузить сервер. После этого можно удалять "$CATALINA_HOME/conf/[enginename]/[hostname]/[AppNAME].xml".
Нюансы:

  • Если ресурс, например, соединение с БД, описан в "$CATALINA_HOME/conf/context.xml", то эти настройки будут иметь приоритет и изменить их путём модификации "$CATALINA_HOME/conf/[enginename]/[hostname]/[AppNAME].xml" не выйдет;
  • Если tomcat запущен под управлением unix-подобных ОС, имя файла – регистрозависимо;
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate