使用Manager取消部署应用程序时,如何让Tomcat删除Web应用程序工件?
我正在使用Tomcat 6.0.18。该应用程序是使用tomcat-maven-plugin 1.0-SNAPSHOT部署的,但是通过maven插件或Web界面的行为是相同的。
Tomcat文档提供有关在Manager How To上取消部署行为的警告 。
战争文件可以删除;但是,解压后的应用程序目录仍然阻止重新部署。
您的应用程序可能无法完全取消部署,因为存在后台线程(您很可能是自己启动的)或长时间运行的请求阻止了应用程序完全停止。
您检查日志文件了吗?他们是否声明是否可以成功取消部署该应用程序?还是相反?尝试取消部署后(在Unix上杀死-3 processid,在Windows的控制台中为Ctrl-Break),可以看到线程转储,看看是否还有某些不应该运行的东西吗?
还要注意,我见过的大多数应用程序都不能完全取消部署的内存。我经常遇到OutOfMemoryErrors(PermGen),尤其是在重新部署了Web应用程序之后(如果在Google上找到它,则会在PermGen上找到很多参考),因此,我相信对于开发机器,但对于生产机器来说,重新部署是可以的。最好在生产中对此感到困惑之前先知道这一点。