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

Tomcat WatchedResource / автоматическое развертывание неэффективны?

Моя задача включает развертывание веб-приложения Java в экземпляре Tomcat 6.0.35, работающем в Debian Squeeze. Таким образом, Tomcat устанавливается из источников пакетов, а веб-приложение развертывается из настраиваемого пакета .deb, который помещает файл .war в каталог ниже. /opt и регистрирует его в Tomcat, отбрасывая контекстный XML (назовем его my-app.xml) в /etc/tomcat6/Catalina/localhost/. Это прекрасно работает для начальной установки .deb, когда приложение выбирается механизмом автоматического развертывания Tomcat и распаковывается в /var/lib/tomcat6/webapps/.

Однако при повторной установке новой версии .deb Tomcat не будет обновлять приложение. Он обнаружит изменение, только если я вручную выполню

touch /etc/tomcat6/Catalina/localhost/my-app.xml

Даже перезапуск Tomcat, не касаясь my-app.xml не имеет никакого эффекта.

my-app.xml выглядит так:

<Context path="/my-app" docBase="/opt/my-app/my-app.war">
    <WatchedResource>/opt/my-app/my-app.war</WatchedResource>
</Context>

IMHO, это должно следить за изменениями .war (который меняется, когда я устанавливаю обновленный .deb).

Автоматическое развертывание включено в server.xml.

Любые идеи?

Положите touch в сценарий после установки вашего deb файл