[jboss-cvs] JBossAS SVN: r57708 - branches/JBoss_4_0_4_GA_CP/common/src/main/org/jboss/util/loading
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 18 15:29:27 EDT 2006
Author: fnasser at redhat.com
Date: 2006-10-18 15:29:26 -0400 (Wed, 18 Oct 2006)
New Revision: 57708
Modified:
branches/JBoss_4_0_4_GA_CP/common/src/main/org/jboss/util/loading/DelegatingClassLoader.java
Log:
ASPATCH-104: JBAS-3692: NoClassDefFoundError performing remote lookup of dynamic proxy
Modified: branches/JBoss_4_0_4_GA_CP/common/src/main/org/jboss/util/loading/DelegatingClassLoader.java
===================================================================
--- branches/JBoss_4_0_4_GA_CP/common/src/main/org/jboss/util/loading/DelegatingClassLoader.java 2006-10-18 19:05:18 UTC (rev 57707)
+++ branches/JBoss_4_0_4_GA_CP/common/src/main/org/jboss/util/loading/DelegatingClassLoader.java 2006-10-18 19:29:26 UTC (rev 57708)
@@ -36,11 +36,11 @@
* @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
* @version $Revision$
*/
-public class DelegatingClassLoader
- extends URLClassLoader
+public class DelegatingClassLoader extends URLClassLoader
{
/** The value returned by {@link getURLs}. */
- public static final URL[] EMPTY_URL_ARRAY = {};
+ public static final URL[] EMPTY_URL_ARRAY =
+ {};
/** Whether to use standard loading */
protected boolean standard = false;
@@ -78,15 +78,26 @@
* @return the loaded class
* @throws ClassNotFoundException when the class could not be found
*/
- protected Class loadClass(String className, boolean resolve)
- throws ClassNotFoundException
+ protected Class loadClass(String className, boolean resolve) throws ClassNotFoundException
{
// Revert to standard rules
if (standard)
return super.loadClass(className, resolve);
// Ask the parent
- Class clazz = getParent().loadClass(className);
+ Class clazz = null;
+ try
+ {
+ clazz = getParent().loadClass(className);
+ }
+ catch (ClassNotFoundException e)
+ {
+ // Not found in parent,
+ // maybe it is a proxy registered against this classloader?
+ clazz = findLoadedClass(className);
+ if (clazz == null)
+ throw e;
+ }
// Link the class
if (resolve)
More information about the jboss-cvs-commits
mailing list