2013-10-28 3 views
0

Итак, я развернул веб-приложение Java (myapp.war) на сервере Tomcat 7, который работает на Amazon EC2. Я заметил, что когда я это делаю, он перезаписывает аналогично названный каталог myapp при развертывании. Я также понял, что приложение фактически обслуживается из этого каталога myapp, и, когда я непосредственно вношу изменения в файл в этом каталоге, изменения сообщаются клиенту, как и ожидалось.Что делает Tomcat с распакованным каталогом после развертывания войны?

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

ответ

0

зависит от цели.

Изменения в файлах классов, вероятно, будут проигнорированы.

Изменения в JSP могут вступать в силу в зависимости от того, был ли доступ к JSP и если сервлет JSP настроен на проверку изменений.

Изменения в статических файлах, вероятно, вступят в силу, но могут задерживаться эффектами статического кеша файлов. Обычно эта задержка составляет всего несколько секунд, но ее можно настроить как более длинную.

Редактирование web.xml, вероятно, вызовет перезагрузку (опять же это может быть отключено с конфигой)

Редактирования contex.xml, вероятно, вызовет передислоцировать.

Перезагрузка приостанавливает приложение, перечитывает web.xml и приостанавливает приложение, чтобы пользователь мог увидеть короткую паузу, но не 404. Redploy полностью удаляет старое приложение и создает новый. Пользователь может видеть 404, когда они пытаются получить доступ к нему в неподходящее время.

Как только будет развернут новый WAR-файл, все локальные изменения будут потеряны.

Смежные вопросы