Review request 7190657 Modify getDriver() to call Thread.currentThread().getContextClassLoader();
Lance Andersen - Oracle
Lance.Andersen at oracle.com
Fri Aug 10 17:19:32 UTC 2012
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.Andersen at oracle.com
More information about the core-libs-dev
mailing list