To prevent a memory leak, the JDBC Driver has been forcibly unregistered

后端 未结 14 1710
执念已碎
执念已碎 2020-11-22 02:15

I am getting this message when I run my web application. It runs fine but I get this message during shutdown.

SEVERE: A web application registered the

14条回答
  •  没有蜡笔的小新
    2020-11-22 03:09

    In your servlet context listener contextDestroyed() method, manually deregister the drivers:

    // This manually deregisters JDBC driver, which prevents Tomcat 7 from complaining about memory leaks wrto this class
    Enumeration drivers = DriverManager.getDrivers();
    while (drivers.hasMoreElements()) {
        Driver driver = drivers.nextElement();
        try {
            DriverManager.deregisterDriver(driver);
            LOG.log(Level.INFO, String.format("deregistering jdbc driver: %s", driver));
        } catch (SQLException e) {
            LOG.log(Level.SEVERE, String.format("Error deregistering driver %s", driver), e);
        }
    }
    

提交回复
热议问题