我在tomcat中为web-app设置了JDBCRealm
,当我重新加载它时,我从tomcat获得了这个:
SEVERE: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
我使用tomcat 6.0.24,使用MySQL Connector 5.1.10 ,,,
有没有办法清理它,所以tomcat不会显示SEVERE
消息?
答案 0 :(得分:0)
这不是泄漏,或者至少它是无关紧要的。如果你有一个单例对象(JDBC驱动程序)并且在应用程序完成之前它永远不会被释放,那有关吗? 数据库将在给定的时间后关闭所有挂起的连接。
如果它真的困扰你,你可以通过以这种方式覆盖close方法来修复它:
public class XBasicDataSource extends BasicDataSource {
@Override
public synchronized void close() throws SQLException {
DriverManager.deregisterDriver(DriverManager.getDriver(url));
super.close();
}
}
并使用您的XBasicDataSource。