ASF Bugzilla – Attachment 30742 Details for
Bug 55444
Support JDBC Drivers outside of tomcat/lib/
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
Patch for loading from Thread context classloader
jdbc-pool.patch (text/plain), 2.45 KB, created by
dblevins
on 2013-08-18 02:54:12 UTC
(
hide
)
Description:
Patch for loading from Thread context classloader
Filename:
MIME Type:
Creator:
dblevins
Created:
2013-08-18 02:54:12 UTC
Size:
2.45 KB
patch
obsolete
>Index: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java >=================================================================== >--- modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (revision 1515057) >+++ modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (working copy) >@@ -243,9 +243,14 @@ > if (log.isDebugEnabled()) { > log.debug("Instantiating driver using class: "+poolProperties.getDriverClassName()+" [url="+poolProperties.getUrl()+"]"); > } >- driver = (java.sql.Driver) Class.forName(poolProperties.getDriverClassName(), >- true, PooledConnection.class.getClassLoader() >- ).newInstance(); >+ >+ Class<?> driverClass; >+ try { >+ driverClass = Class.forName(poolProperties.getDriverClassName(), true, PooledConnection.class.getClassLoader()); >+ } catch (ClassNotFoundException e) { >+ driverClass = Class.forName(poolProperties.getDriverClassName(), true, Thread.currentThread().getContextClassLoader()); >+ } >+ driver = (java.sql.Driver) driverClass.newInstance(); > } > } catch (java.lang.Exception cn) { > if (log.isDebugEnabled()) { >Index: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java >=================================================================== >--- modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (revision 1515057) >+++ modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (working copy) >@@ -949,7 +949,11 @@ > if (log.isDebugEnabled()) { > log.debug("Loading interceptor class:"+getClassName()); > } >- clazz = Class.forName(getClassName(), true, this.getClass().getClassLoader()); >+ try { >+ clazz = Class.forName(getClassName(), true, this.getClass().getClassLoader()); >+ } catch (ClassNotFoundException e) { >+ clazz = Class.forName(getClassName(), true, Thread.currentThread().getContextClassLoader()); >+ } > } > } > return (Class<? extends JdbcInterceptor>)clazz;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 55444
: 30742