Получение Tomcat для перезагрузки веб-приложения со статическим контекстом - PullRequest
2 голосов
/ 15 октября 2010

У меня есть Host, который не развертывает автоматически все веб-приложения.

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="false"
        xmlValidation="false" xmlNamespaceAware="false">

Но я хочу, чтобы веб-приложение dreambear автоматически перезагружалось без перезапуска,цели разработки (следовательно, это на SO, а не на сбое сервера).

Catalina / localhost / dreambear.xml :

<Context reloadable="true">
    <Parameter name="gamePageUrl" value="http://****/dreambear.html" />
</Context>

Я развертываю веб-приложение,Dreambear.war в директории веб-приложений.К сожалению, он не перезагружается автоматически:

  • (Host: unpackWARs = false): новая версия WAR не обнаружена
  • (Host: unpackWARs = true):Новая версия WAR не распаковывается
  • (Host: unpackWARs = true): если я удаляю распакованный каталог, новый WAR будет распакован, но не развернут.

IsЕсть ли способ добиться того, чего я хочу?Я не хочу включать autoDeploy, потому что мой контекстный xml будет удаляться каждый раз, когда я добавляю новую WAR ( см. Здесь ).

1 Ответ

3 голосов
/ 18 октября 2010

Я пробовал некоторые комбинации, и ни одна из них не будет повторно развернута из файла WAR с autoDeploy, установленным на false.

Установка reloadable на true в Context не будет работать, так как состояние документа

Установите значение true, если хотите, чтобы Каталина следить за занятиями в / WEB-INF / classes / и / WEB-INF / lib для изменений, и автоматически перезагрузить веб приложение, если обнаружено изменение.

Я также попытался перезагрузить веб-приложение менеджера

http://localhost:8080/manager/reload?path=/dreambear

Впрочем, этот тоже не берет изменений с войны

Это может быть полезно, когда в Интернете контекст приложения не перезагружается и вы обновили классы или файлы свойств в / WEB-INF / classes каталог или когда вы добавили или обновленные файлы JAR в / WEB-INF / lib каталог.

Документы менеджера более понятны в этом

В настоящее время выполняется перезагрузка приложения (до забрать изменения в классах или файл web.xml) не поддерживается, если веб-приложение разворачивается напрямую из файла WAR. Это работает только когда веб-приложение развернуто с распакованный каталог. Если ты используя файл WAR, вы должны удалить а затем развернуть или развернуть с обновить параметр приложение еще раз забрать свои изменения.

...