Не удается полностью отключить веб-приложение в Tomcat 7
Я использую приложение manager в tomcat 7,
и я не могу полностью отключить приложение.
Это говорит
FAIL - Unable to delete [F:\apache-tomcat-7.0.33\webapps\balaji]. The continued presence of this file may cause problems.
Я где-то читал его из-за какого-то явления, называемого утечкой памяти, и если мы его исправим, проблема будет решена.
Может ли кто-нибудь сказать мне, что это за утечка памяти в tomcat 7, и как мы можем это исправить?
Я использую ОС Windows 7.
Если я смогу исправить это, мой процесс разворачивания и повторного развертывания будет плавным?
Ответы
Ответ 1
Это очень часто встречается в среде Windows, но есть решение:
Откройте файл context.xml из /tomcat/conf и измените контекст, чтобы он соответствовал:
<Context antiResourceLocking="true">
Изменить: обновлены свойства, следующие за комментарием @JanM. Ранее он также содержал "antiJARLocking"
Ответ 2
Это одна из распространенных проблем с tomcat. Сервер Tomcat улавливает ресурсы при запуске и развертывает его. Хотя undeploying, некоторый ресурс все еще будет использоваться tomcat. Он еще не выпустил ресурс, но в то же время другой поток в tomcat попытается очистить те же ресурсы. Следовательно, удаление этих ресурсов не удастся.
Один из лучших способов - вручную очистить корневой каталог приложения в webapps.
Ответ 3
Я столкнулся с той же проблемой в Apache Tomcat/8.0.5. Я сделал следующие шаги, используя приложение-менеджер, и это сработало для меня.
- Закройте браузер, включая все вкладки (для удаления кеша).
- Откроем "приложение-менеджер" и сначала убедитесь, что приложение
(кнопка запуска должна быть включена).
- Теперь нажмите на undeploy.
Я думаю, что при прямом нажатии на undeploy сначала он блокирует банки, останавливает приложение и пытается распаковать, но не с сообщением FAIL - Unable to delete
.
Если вы действительно запутались со статусом, закройте браузер, перезапустите tomcat, откройте "приложение-менеджер", нажмите "Остановить" и затем отпустите.
Ответ 4
antiResourceLocking:
Если true, Tomcat предотвратит блокировку файлов. Это существенно повлияет на время запуска приложений, но позволяет полностью развертывать и развертывать webapp hot на платформах или в конфигурациях, где может произойти блокировка файлов. Если не указано, значение по умолчанию равно false.
Обратите внимание, что установка этого значения в true имеет некоторые побочные эффекты, включая отключение перезагрузки JSP на работающем сервере: см. Bugzilla 37668.
Обратите внимание, что установка этого флага в true в приложениях, которые находятся за пределами базы приложений для хоста (по умолчанию каталог Webapps) приведет к удалению приложения при завершении Tomcat. Вероятно, вы не хотите этого делать, поэтому подумайте дважды, прежде чем устанавливать antiResourceLocking = true в webapp, который находится за пределами приложения для своего хоста.