Можно ли запустить ранее развернутый / webapp / myapp, если файл docBase myapp.war недоступен? - PullRequest
0 голосов
/ 22 октября 2018

Я поместил файл войны на общий диск.И я установил docBase в моем tomcat ... \ conf \ Catalina \ localhost \ myapp.xml следующим образом:

Когда общий диск работает, tomcat (AutoDeployOnStartup = true) проверяет войну и успешно ее развертывает.Но когда общий диск не работает, tomcat (при запуске) не смог запустить myapp и не использует уже развернутый webapp \ myapp (который был развернут ранее).

возможно ли запустить ранее развернутый / webapp / myapp, если файл войны docBase недоступен?Или какое решение для отработки отказа вы используете, если файл войны docBase недоступен?

1 Ответ

0 голосов
/ 23 октября 2018

Когда myapp недоступен (не развернут), запрос будет обработан веб-приложением ROOT.(Вы можете создать там каталог «ROOT / myapp» или настроить сервлет или фильтр по этому пути, чтобы справиться с перебоями более изощренным способом.)

Интересно, что произойдет, если ..\conf\Catalina\localhost\myapp.xmlНа самом деле file - это символическая ссылка на файл на вашем общем диске (который становится AWOL, когда диск недоступен).Будет ли Tomcat использовать распакованную войну из каталога webapps или нет?(Он существует ..\conf\Catalina\localhost\myapp.xml, имеет приоритет над webapp\myapp. Ссылка . Вот почему я задаюсь вопросом, что произойдет, если myapp.xml является символической ссылкой.)

Как правило, ядумаю, что вам не следует развертывать веб-приложение на общем диске.Вы можете автоматически загрузить его на сервер через веб-приложение Manager (например, с помощью Ant task или с помощью curl + PUT request).Приложение Manager также может получить войну из удаленного источника.

ОБНОВЛЕНИЕ

Также существует такой инструмент, как FarmWarDeployer ( javadoc , пример , ссылка ).Он тянет войны из удаленного источника.

...