您的位置:首页 > 运维架构 > Tomcat

[tomcat 8.0.47]To prevent a memory leak, the JDBC Driver has been forcibly unregistered

2017-10-30 09:55 435 查看
环境:tomcat 8.0.47

通过tomcat 8.0.47发布web项目,突然无故断开,查看后台日志发现:

The web application [ROOT] registered the JDBC driver
[oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered


大致意思是:web程序注册jdbc驱动,但是遇到一个错误。为了防止内存泄露,jdbc驱动取消注册。由此可见 先发生web错误 后导致取消注册,一旦取消注册之后,所有的connect 都将断开,导致tomcat死掉。所以要解决的就是不让取消注册。

最后再往上搜索了如下3个方法:

1. 将jdbc驱动包拷贝至tomcat的lib下,由tomcat自己进行管理

2. 将tomcat的server.xml中,删除防止内存泄露监听这行:

< Listener className=”org.apache.catalina.core.JreMemoryLeakPreventionListener”>

3. 将tomcat换成6.0.25以前的版本。

个人建议 把tomcat启动内存加大点,也可以防止内存泄露的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐