Назад | Перейти на главную страницу

Лучший способ разделить файлы конфигурации Tomcat для разных развертываний?

Прямо сейчас вся конфигурация для конкретного приложения выполняется в conf/Catalina/localhost/myWebApp.xml, и этот файл изменяется между разными сценариями развертывания (тестовый / производственный / личный и т. д.). Моя первоначальная мысль заключалась в том, чтобы создать несколько файлов конфигурации, названных в честь явной конфигурации. В идеале эти файлы конфигурации для конкретного развертывания должны быть взаимозаменяемыми. То есть переключение файла конфигурации, содержащего параметры, которые изменяются между развертываниями, будет единственным изменением конфигурации, необходимым для переключения развертывания.

Как лучше всего это сделать? Могу ли я переопределить свойства с помощью tomcat? Как я могу использовать более одного файла конфигурации для контекста веб-приложения? Если я могу переопределить, как мне указать приоритет переопределения?

Спасибо.

Со стороны главного сервера вы можете передать саму конфигурацию Tomcat при запуске, а не использовать настройки по умолчанию, например:

cd $TOMCAT_HOME
./bin/startup.sh -config /some/path/to/server.xml

Этот server.xml определяет ваш элемент «host» для веб-приложений, который имеет несколько свойств в отношении того, как они развертываются (взгляните на вариант по умолчанию). Документация по конфигурации находится здесь:

http://tomcat.apache.org/tomcat-6.0-doc/config/host.html

Загляните немного дальше в этот документ, где начинается разговор об «автоматическом развертывании приложений» - там есть некоторое словоблудие, которое начинает говорить о разных файлах XML. Возможно, одна из этих определенных процедур в движке позволит создать рабочий сценарий для ваших нужд; Я сделал не совсем то, что вы просите, обычно развертывается WAR, который содержит собственный XML и автоматически распаковывается - я не связываюсь с перезаписью распакованных файлов в webapps / foo / зонах.

Лучшее, что вы можете сделать, по-видимому, - создать механизм анализа переменных, который создает несколько файлов развертывания для различных развертываний, которые вам нужны.