From 1eeae5c1cd181f088021ade241b3ad956d8cd650 Mon Sep 17 00:00:00 2001 From: Dalibor Topic Date: Thu, 18 Sep 2003 19:51:39 +0000 Subject: [PATCH] NamingManager.java (getURLContext, [...]): Always use current thread's context class loader when calling Class.forName. 2003-09-18 Dalibor Topic , Helmer Kraemer * javax/naming/spi/NamingManager.java (getURLContext, getObjectInstance, getStateToBind): Always use current thread's context class loader when calling Class.forName. Co-Authored-By: Helmer Kraemer From-SVN: r71534 --- libjava/ChangeLog | 7 +++++++ libjava/javax/naming/spi/NamingManager.java | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index fbe40721ace..08727716add 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2003-09-18 Dalibor Topic , + Helmer Kraemer + + * javax/naming/spi/NamingManager.java (getURLContext, + getObjectInstance, getStateToBind): Always use current thread's + context class loader when calling Class.forName. + 2003-09-18 Michael Koch * java/util/Timer.java (finalize): Added "throws Throwable". diff --git a/libjava/javax/naming/spi/NamingManager.java b/libjava/javax/naming/spi/NamingManager.java index 8b215cee5c5..65ce2d23c23 100644 --- a/libjava/javax/naming/spi/NamingManager.java +++ b/libjava/javax/naming/spi/NamingManager.java @@ -129,7 +129,9 @@ public class NamingManager String aTry = tokens.nextToken (); try { - Class factoryClass = Class.forName (aTry + "." + scheme); + Class factoryClass = Class.forName (aTry + "." + scheme, + true, + Thread.currentThread().getContextClassLoader()); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance (); Object obj = factory.getObjectInstance (refInfo, name, @@ -231,7 +233,9 @@ public class NamingManager if (fClass != null) { // Exceptions here are passed to the caller. - Class k = Class.forName (fClass); + Class k = Class.forName (fClass, + true, + Thread.currentThread().getContextClassLoader()); factory = (ObjectFactory) k.newInstance (); } else @@ -275,7 +279,9 @@ public class NamingManager while (tokens.hasMoreTokens ()) { String klassName = tokens.nextToken (); - Class k = Class.forName (klassName); + Class k = Class.forName (klassName, + true, + Thread.currentThread().getContextClassLoader()); factory = (ObjectFactory) k.newInstance (); Object obj = factory.getObjectInstance (refInfo, name, nameCtx, environment); @@ -341,7 +347,9 @@ public class NamingManager String klassName = tokens.nextToken (); try { - Class k = Class.forName (klassName); + Class k = Class.forName (klassName, + true, + Thread.currentThread().getContextClassLoader()); StateFactory factory = (StateFactory) k.newInstance (); Object o = factory.getStateToBind (obj, name, nameCtx, environment);