[prev in list] [next in list] [prev in thread] [next in thread]
List: openejb-cvs
Subject: svn commit: r1497283 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openej
From: rmannibucau () apache ! org
Date: 2013-06-27 10:07:08
Message-ID: 20130627100708.985232388900 () eris ! apache ! org
[Download RAW message or body]
Author: rmannibucau
Date: Thu Jun 27 10:07:08 2013
New Revision: 1497283
URL: http://svn.apache.org/r1497283
Log:
TOMEE-983 TOMEE-984 allowing to use mojarra
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/ja \
va/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1497283&r1=1497282&r2=1497283&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java \
(original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java \
Thu Jun 27 10:07:08 2013 @@ -341,11 +341,6 @@ public class URLClassLoaderFirst \
extends return false;
}
- final ClassLoader parentLoader = findParent(loader);
- if (parentLoader == null) {
- return true;
- }
-
// using annotation to test to avoid to load more classes with deps
final String testClass;
if ("javax.faces.bean.RequestScoped".equals(name)) {
@@ -355,12 +350,16 @@ public class URLClassLoaderFirst extends
}
final String classname = testClass.replace('.', '/') + ".class";
- final URL thisJSf = loader.getResource(classname);
- if (thisJSf == null) {
+ try {
+ final Enumeration<URL> resources = loader.getResources(classname);
+ final Collection<URL> thisJSf = Collections.list(resources);
+ if (thisJSf == null || thisJSf.isEmpty()) {
+ return true;
+ }
+ return thisJSf.size() <= 1;
+ } catch (final IOException e) {
return true;
}
- final URL containerJsf = parentLoader.getResource(classname);
- return containerJsf != null && thisJSf.equals(containerJsf);
}
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java \
/org/apache/tomee/catalina/LazyStopWebappClassLoader.java?rev=1497283&r1=1497282&r2=1497283&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java \
(original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java \
Thu Jun 27 10:07:08 2013 @@ -75,10 +75,13 @@ public class LazyStopWebappClassLoader e
synchronized (this) {
final ClassLoader old = system;
system = NoClassClassLoader.INSTANCE;
+ final boolean delegate = getDelegate();
+ setDelegate(false);
try {
return super.loadClass(name);
} finally {
system = old;
+ setDelegate(delegate);
}
}
}
@@ -92,6 +95,16 @@ public class LazyStopWebappClassLoader e
} catch (NoClassDefFoundError ncdfe) {
return super.loadClass(name);
}
+ } else if (name.startsWith("javax.faces.") || \
name.startsWith("org.apache.webbeans.jsf.")) { + final boolean delegate = \
getDelegate(); + synchronized (this) {
+ setDelegate(false);
+ try {
+ return super.loadClass(name);
+ } finally {
+ setDelegate(delegate);
+ }
+ }
}
return super.loadClass(name);
}
@@ -103,7 +116,7 @@ public class LazyStopWebappClassLoader e
@Override
protected boolean filter(final String name) {
- return URLClassLoaderFirst.shouldSkip(name);
+ return !"org.apache.tomee.mojarra.TomEEInjectionProvider".equals(name) && \
URLClassLoaderFirst.shouldSkip(name); }
public void internalStop() throws LifecycleException {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic