Author: rmannibucau Date: Mon Apr 29 06:54:00 2013 New Revision: 1476903 URL: http://svn.apache.org/r1476903 Log: TOMEE-920 skipping com.sun.crypto for enhancement + using ParentClassLoader as server loader in tempclassloader
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java?rev=1476903&r1=1476902&r2=1476903&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java Mon Apr 29 06:54:00 2013 @@ -46,6 +46,7 @@ import java.util.Set; */ // Note: this class is a fork from OpenJPA public class TempClassLoader extends URLClassLoader { + private static final ClassLoader PARENT_LOADER = ParentClassLoaderFinder.Helper.get(); private final Set<Skip> skip; private final ClassLoader system; @@ -103,7 +104,7 @@ public class TempClassLoader extends URL * 3. Result is , AnnotationDeployer throws a ClassNotFoundException */ if (this.skip(name) || (name.startsWith("javax.faces.") && URLClassLoaderFirst.shouldSkipJsf(getParent(), name))) { - return Class.forName(name, resolve, this.getClass().getClassLoader()); + return Class.forName(name, resolve, PARENT_LOADER); } // don't load classes from app classloader @@ -152,11 +153,11 @@ public class TempClassLoader extends URL // Annotation classes must be loaded by the normal classloader // So must Enum classes to prevent problems with the sun jdk. if (this.skip.contains(Skip.ANNOTATIONS) && isAnnotationClass(bytes)) { - return Class.forName(name, resolve, this.getClass().getClassLoader()); + return Class.forName(name, resolve, PARENT_LOADER); } if (this.skip.contains(Skip.ENUMS) && isEnum(bytes)) { - return Class.forName(name, resolve, this.getClass().getClassLoader()); + return Class.forName(name, resolve, PARENT_LOADER); } // define the package Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java?rev=1476903&r1=1476902&r2=1476903&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java Mon Apr 29 06:54:00 2013 @@ -346,6 +346,7 @@ public class PersistenceUnitInfoImpl imp if (name.startsWith("java.")) return true; if (name.startsWith("javax.")) return true; if (name.startsWith("sun.")) return true; + if (name.startsWith("com.sun.crypto.")) return true; if (name.startsWith("org.")) { final String org = name.substring("org.".length());