Home >Java >javaTutorial >Why Does Tomcat Issue JDBC Driver Auto-Registration Warnings, and How Can I Resolve Them?
When shutting down a web application running on Tomcat, you may encounter an informative message:
SEVERE: A web application registered the JBDC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Starting with Tomcat 6.0.24, a memory leak detection feature identifies JDBC 4.0-compatible drivers that automatically register themselves on application startup but fail to deregister during shutdown. Despite the warning, Tomcat ensures memory leak prevention.
1. Ignore Warnings (Recommended):
Tomcat's action is correct. The issue lies in the JDBC driver code. Be patient until the driver vendor releases a fix and update your driver.
2. Downgrade to Tomcat 6.0.23 or Older:
Silence the warnings, but expose yourself to potential memory leaks.
3. Move JDBC Driver to Tomcat's /lib Folder and Use a Connection Pool:
Ensure driver management via a connection pool datasource. Consider using HikariCP or Tomcat JDBC Pool for proper driver deregistration.
The above is the detailed content of Why Does Tomcat Issue JDBC Driver Auto-Registration Warnings, and How Can I Resolve Them?. For more information, please follow other related articles on the PHP Chinese website!