protected Class loadClassInDependentJar(String name) throws ClassNotFoundException { if (inEARFile) { return loadClassInDependentJarInEAR(name); } else if (getExtraClassLoader() != null) { return getExtraClassLoader().loadClass(name); } throw new ClassNotFoundException(name); }
/** * Used for dynamic class loading in dependent jars in ears; the set is used to terminate a * cycle if one exists; the cycle is invalid, but you never know what people might try... */ protected synchronized Class loadClass(String name, Set visitedArchives) throws ClassNotFoundException { if (visitedArchives.contains(getArchive())) throw new ClassNotFoundException(name); visitedArchives.add(getArchive()); try { return super.loadClass(name, false); } catch (ClassNotFoundException ex) { return loadClassInDependentJarInEAR(name, visitedArchives); } }