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) {