diff --git a/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java b/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java index 9433bf891e767e4c66b35f38ba6e281c7db08511..a5d337ff1d28c76d0f09541985049b538492d7e6 100644 --- a/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java +++ b/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java @@ -39,8 +39,9 @@ public class ClassLoaderWithRepository extends ClassLoader { } protected Class findClass(String name) throws ClassNotFoundException { + Class cls; try { - return repository.loadClass(name); + cls = repository.loadClass(name); } catch (ClassNotFoundException cne) { if (cl2 != null) { return cl2.loadClass(name); @@ -48,6 +49,15 @@ public class ClassLoaderWithRepository extends ClassLoader { throw cne; } } + + if(!cls.getName().equals(name)){ + if (cl2 != null) { + return cl2.loadClass(name); + } else { + throw new ClassNotFoundException(name); + } + } + return cls; } private ClassLoaderRepository repository;