TOMCAT/lib/tomcat-jdbc.jar currently wouldn't load JDBC driver(s) or customized interceptors out of TOMCAT/webapps/WEB_APP/WEB-INF/lib. E.g. org.apache.tomcat.jdbc.pool.ConnectionPool init SEVERE: Unable to inform interceptor of pool start. java.lang.ClassNotFoundException: ... at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.tomcat.jdbc.pool.PoolProperties$InterceptorDefinition.getInterceptorClass(PoolProperties.java:861) at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:443) at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:130) at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:112) at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:99) at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:123) Moving JDBC driver(s) into TOMCAT/lib would cause memory leak mentioned @ HTTP://issues.apache.org/bugzilla/show_bug.cgi?id=48214 not to mention exposing jar/version conflicts to other TOMCAT/webapps. Any chance for tomcat-jdbc including org.apache.tomcat.jdbc.pool.PoolProperties$InterceptorDefinition.getInterceptorClass to consider Thread#getContextClassLoader() instead of current Class.forName please? Thanks!
Created attachment 29449 [details] Fixes PooledConnection to attempt to load the driver class form the TCCL as well.
Fixed in r1616584
*** Bug 55444 has been marked as a duplicate of this bug. ***
(In reply to Filip Hanik from comment #2) > Fixed in r1616584 With minor follow-ups in r1617115 and r1617165.