上次运行的 tomcat 类仍然存在
我正在运行一个使用 spring、hibernate、jsf 等的应用程序。该应用程序还使用 ha-jdbc 来使数据库高度可用。第一次部署应用程序时,应用程序运行顺利,但是当取消部署并重新部署时,tomcat给出以下错误:
以下Web应用程序已停止(重新加载,取消部署),但它们的 以前运行的类仍然加载在内存中,从而导致内存 泄漏(使用分析器确认):
我想知道如何摆脱这个问题。有天才吗?
提前致谢。
i am running an application which uses spring, hibernate, jsf, etc. the application also uses ha-jdbc to make the databases highly available. when the application is deployed for the first time, the app runs smoothly, but when it is un-deployed and deployed back, tomcat gives the following error:
The following web applications were stopped (reloaded, undeployed), but their
classes from previous runs are still loaded in memory, thus causing a memory
leak (use a profiler to confirm):
i am wondering how to get rid of this problem. any genius?
thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用探查器(VisualVM 会做),做堆快照,找到延迟的对象,找到引用链,并思考为什么它们仍然被引用。
或者,只需为每个部署重新启动 tomcat。
use a profiler (visualvm would do), do a heap snapshot, find the lingering objects, find the reference chain, and ponder why they are still referenced.
or, just restart tomcat for each deployment.