Lance, There are a couple of other uses of DriverManager.getCallerClassLoader() that do no fall back to Thread.currentThread().getContextClassLoader() if the caller class loader is null (bootstrap loader). Should these be updated as well?
>From >http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/java/sql/DriverManager.java: Line 334 in deregisterDriver(Driver driver) Line 365 in getDrivers() Thanks, Dave On Fri, Aug 10, 2012 at 1:19 PM, Lance Andersen - Oracle <lance.ander...@oracle.com> wrote: > Looking for a reviewer for the following change: > > - add a call to Thread.currentThread().getContextClassLoader() to > DriverManager.getDriver() > - Remove the synchronized block for the same call in getConnection() > > Thank you. > > Best > Lance > > localhost:sql lanceandersen$ hg diff DriverManager.java > diff -r 629f357fc17b src/share/classes/java/sql/DriverManager.java > --- a/src/share/classes/java/sql/DriverManager.java Fri Aug 10 09:17:14 > 2012 -0400 > +++ b/src/share/classes/java/sql/DriverManager.java Fri Aug 10 13:05:00 > 2012 -0400 > @@ -264,6 +264,10 @@ > // be null. > ClassLoader callerCL = DriverManager.getCallerClassLoader(); > > + if(callerCL == null) { > + callerCL = Thread.currentThread().getContextClassLoader(); > + } > + > // Walk through the loaded registeredDrivers attempting to locate > someone > // who understands the given URL. > for (DriverInfo aDriver : registeredDrivers) { > @@ -563,11 +567,8 @@ > * classloader, so that the JDBC driver class outside rt.jar > * can be loaded from here. > */ > - synchronized(DriverManager.class) { > - // synchronize loading of the correct classloader. > - if(callerCL == null) { > - callerCL = Thread.currentThread().getContextClassLoader(); > - } > + if(callerCL == null) { > + callerCL = Thread.currentThread().getContextClassLoader(); > } > > if(url == null) { > localhost:sql lanceandersen$ > > Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037 > Oracle Java Engineering > 1 Network Drive > Burlington, MA 01803 > lance.ander...@oracle.com >