在使用Manager取消部署应用程序时,如何让Tomcat删除Web应用程序工件?
我正在使用Tomcat 6.0.18.使用tomcat-maven-plugin 1.0-SNAPSHOT部署应用程序,但是通过maven插件或Web界面的行为是相同的.
Tomcat文档提供有关取消部署应如何在Manager How To上执行操作的警告 .
war文件可以删除; 但是,解压缩的应用程序目录仍然阻止重新部署.
Ric*_*ols 26
如果您通过应用程序中的URL访问JAR库中的资源,那么它也可能是文件锁定的问题(特别是在Windows上).
我只是有一个类似的问题,并通过修改以下行修复它
Apache Tomcat/conf/context.xml
档案:
<Context antiJARLocking="true" antiResourceLocking="true" >
Run Code Online (Sandbox Code Playgroud)
(请注意,这是否是生产安全的争论,因为它为每次重新部署创建了webapp的副本,但是如果您在Windows上并且无法在源处修复问题,那么这可能提供可行的解).
您的应用程序可能无法完全卸载,因为存在后台线程(您很可能自己启动)或长时间运行的请求阻止应用程序完全停止。
您检查过日志文件吗?他们是否声明应用程序是否可以成功卸载?或者相反?在尝试取消部署(在 Unix 上杀死 -3 processid,在 Windows 控制台中按 Ctrl-Break)后,您能否获得线程转储并查看是否有不应该运行的内容仍在运行?
另请注意,我见过的大多数应用程序都无法完全卸载它们占用的内存。我经常遇到 OutOfMemoryErrors (PermGen),特别是在重新部署 webapp 之后(如果你用 google 搜索,你会发现很多关于 PermGen 的参考资料),因此我相信重新部署对于开发机器来说是可以的,但对于生产机器来说就不行了。在生产中对此感到困惑之前,最好先了解一下这一点。
归档时间: |
|
查看次数: |
20818 次 |
最近记录: |