返回
顶部

修改密码

首页 > 文章 > 要闻 > 正文
Tomcat停止时错误:Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。

+1

-1

收藏

+1

-1

点赞1

评论0

标题:Tomcat停止时错误:Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
详情介绍-作者:xiaowei-来源: 极全网-官网 -如有问题点击:在线客服帮助

从版本6.0.24开始,Tomcat提供了一个内存泄漏检测功能,当webapp的/ WEB-INF / lib中有一个兼容JDBC 4.0的驱动程序,它会在webapp启动时auto-register自己使用的ServiceLoaderAPI,但在webapp关闭期间没有自动注销。这个消息纯属非正式的,Tomcat已经相应地采取了内存泄漏预防行动。

可以采取以下措施:

忽略这些警告。 Tomcat正在做正确的工作。 实际的bug是在别人的代码中(所讨论的JDBC驱动程序),而不是在你的代码中。 Tomcat在正常工作,并等待JDBC驱动程序供应商解决问题,以便升级驱动程序。 另一方面,您不应该在webapp的/ WEB-INF / lib中放置JDBC驱动程序,而只能在服务器的/ lib中放置JDBC驱动程序。 如果你仍然保存在webapp的/ WEB-INF / lib中,那么你应该使用ServletContextListener手动注册和注销它。

降级到Tomcat 6.0.23或更低版本,这样你就不会被那些警告所困扰。但它会悄悄地泄漏内存。这些内存泄漏是Tomcat的OutOfMemoryError问题背后的主要原因之一。

将JDBC驱动程序移动到Tomcat/lib文件夹,并有一个连接池数据源来管理驱动程序。请注意,Tomcat的内置DBCP在关闭时不会正确注销驱动程序。另请参阅作为WONTFIX关闭的bug DBCP-322。您可以将DBCP替换为另一个更好的DBCP连接池。例如HikariCP,BoneCP,或Tomcat JDBC池。

版权声明:本文内容由极全网实名注册用户自发贡献,版权归原作者所有,极全网-官网不拥有其著作权,亦不承担相应法律责任。具体规则请查看《极全网用户服务协议》和《极全网知识产权保护指引》。如果您发现极全网中有涉嫌抄袭的内容,点击进入填写侵权投诉表单进行举报,一经查实,极全网将立刻删除涉嫌侵权内容。

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐
换一批
热点排行