Перезагрузка контекста в пристани - PullRequest
1 голос
/ 24 ноября 2010

У меня есть вопрос, связанный с перезагрузкой контекста.Что я делаю:

  1. start jetty

  2. помещаем war1.war в / webapps ->, который запускает новый контекст / war1 и работает.

  3. положить war2.war в / webapps ->, который запускает новый контекст / war2, и он работает.

  4. Предположим, что я сделалнекоторые изменения в развитии в war1.war.Я хочу обновить war1.war в / webapps, но Windows жалуется на использование этого файла.

  5. Я останавливаю причал

  6. Я ставлю новыйwar1.war в / webapps -> все в порядке.

Вопрос -> Как перезагрузить war1.war, не выключая пристань?

1 Ответ

3 голосов
/ 26 ноября 2010

Я думаю, что вы столкнулись с проблемой, описанной в Файлы заблокированы в Windows :

Jetty буферизует статический контент для веб-приложений, таких как HTML-файлы, CSS-файлы, изображения и т. Д.и использует отображенные в памяти файлы, чтобы сделать это, если используются разъемы NIO.Проблема заключается в том, что в Windows при отображении памяти в файл он блокируется, поэтому его нельзя обновить или заменить.Это означает, что фактически вам необходимо остановить Jetty для обновления файла.

Существует два решения, оба задокументированы в приведенной выше ссылке:

  • отключить отображение памяти;
  • чтобы всегда копировать каталог веб-приложения при развертывании.
...