You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/13 17:44:45 UTC
svn commit: r1397865 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
Author: rmannibucau
Date: Sat Oct 13 15:44:45 2012
New Revision: 1397865
URL: http://svn.apache.org/viewvc?rev=1397865&view=rev
Log:
TOMEE-462 try system classloader before defining the class in tempclassloader - embedded case is a bit different
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java?rev=1397865&r1=1397864&r2=1397865&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java Sat Oct 13 15:44:45 2012
@@ -47,11 +47,13 @@ import java.util.Set;
public class TempClassLoader extends URLClassLoader {
private final Set<Skip> skip;
private final ClassLoader system;
+ private final boolean embedded;
public TempClassLoader(ClassLoader parent) {
super(new URL[0], parent);
skip = SystemInstance.get().getOptions().getAll("openejb.tempclassloader.skip", Skip.NONE);
system = ClassLoader.getSystemClassLoader();
+ embedded = getClass().getClassLoader() == system;
}
/*
@@ -95,7 +97,7 @@ public class TempClassLoader extends URL
// don't load classes from app classloader
// we do it after the previous one since it will probably result to the same
// Class and the previous one is faster than this one
- if (URLClassLoaderFirst.canBeLoadedFromSystem(name)) {
+ if (!embedded && URLClassLoaderFirst.canBeLoadedFromSystem(name)) {
try {
c = system.loadClass(name);
if (c != null) {