Author: rmannibucau
Date: Sun Sep 30 21:45:50 2012
New Revision: 1392118
URL: http://svn.apache.org/viewvc?rev=1392118&view=rev
Log:
slf4j filtering in URLClassLoaderFirst too
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
Sun Sep 30 21:45:50 2012
@@ -18,11 +18,14 @@ package org.apache.openejb.util.classloa
import org.apache.openejb.loader.SystemInstance;
+import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
// TODO: look SM usage, find a better name
public class URLClassLoaderFirst extends URLClassLoader {
@@ -323,4 +326,31 @@ public class URLClassLoaderFirst extends
return openejb.startsWith("hibernate.") ||
openejb.startsWith("jpa.integration.")
|| openejb.startsWith("toplink.") ||
openejb.startsWith("eclipselink.");
}
+
+ @Override
+ public Enumeration<URL> getResources(final String name) throws IOException
{
+ final Enumeration<URL> result = super.getResources(name);
+ if (isSlf4jQuery(name)) {
+ return filterSlf4jImpl(result);
+ }
+ return result;
+ }
+
+ public static final String SLF4J_STATIC_LOGGER_BINDER_CLASS =
"org/slf4j/impl/StaticLoggerBinder.class";
+
+ public static boolean isSlf4jQuery(final String name) {
+ return SLF4J_STATIC_LOGGER_BINDER_CLASS.equals(name);
+ }
+
+ public static Enumeration<URL> filterSlf4jImpl(final Enumeration<URL>
result) {
+ final Collection<URL> values = Collections.list(result);
+ if (values.size() > 1) {
+ // remove openejb one
+ final URL url = URLClassLoaderFirst.class.getResource("/" +
SLF4J_STATIC_LOGGER_BINDER_CLASS);
+ if (url != null) {
+ values.remove(url);
+ }
+ }
+ return Collections.enumeration(values);
+ }
}
Modified:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
Sun Sep 30 21:45:50 2012
@@ -21,6 +21,7 @@ import org.apache.catalina.LifecycleExce
import org.apache.catalina.loader.WebappClassLoader;
import org.apache.openejb.classloader.WebAppEnricher;
import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
import java.io.File;
import java.io.IOException;
@@ -100,8 +101,8 @@ public class LazyStopWebappClassLoader e
@Override
public Enumeration<URL> getResources(final String name) throws IOException
{
final Enumeration<URL> urls = super.getResources(name);
- if (TomEEClassLoaderEnricher.isSlf4jQuery(name)) {
- return TomEEClassLoaderEnricher.filterSlf4jImpl(urls);
+ if (URLClassLoaderFirst.isSlf4jQuery(name)) {
+ return URLClassLoaderFirst.filterSlf4jImpl(urls);
}
return urls;
}
Modified:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
Sun Sep 30 21:45:50 2012
@@ -32,8 +32,6 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
import java.util.HashSet;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
@@ -228,25 +226,4 @@ public final class TomEEClassLoaderEnric
}
}
}
-
- /**
- * Helper part
- */
- public static final String SLF4J_STATIC_LOGGER_BINDER_CLASS =
"org/slf4j/impl/StaticLoggerBinder.class";
-
- public static boolean isSlf4jQuery(final String name) {
- return SLF4J_STATIC_LOGGER_BINDER_CLASS.equals(name);
- }
-
- public static Enumeration<URL> filterSlf4jImpl(final Enumeration<URL>
result) {
- final Collection<URL> values = Collections.list(result);
- if (values.size() > 1) {
- // remove openejb one
- final URL url = TomEEClassLoaderEnricher.class.getResource("/" +
SLF4J_STATIC_LOGGER_BINDER_CLASS);
- if (url != null) {
- values.remove(url);
- }
- }
- return Collections.enumeration(values);
- }
}
Modified:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
Sun Sep 30 21:45:50 2012
@@ -32,6 +32,7 @@ import org.apache.openejb.loader.SystemI
import org.apache.openejb.util.ArrayEnumeration;
import org.apache.openejb.util.URLs;
import org.apache.openejb.util.classloader.ClassLoaderComparator;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.modeler.Registry;
@@ -193,8 +194,8 @@ public class TomEEWebappLoader extends W
result = app.getResources(name);
}
- if (TomEEClassLoaderEnricher.isSlf4jQuery(name)) {
- return TomEEClassLoaderEnricher.filterSlf4jImpl(result);
+ if (URLClassLoaderFirst.isSlf4jQuery(name)) {
+ return URLClassLoaderFirst.filterSlf4jImpl(result);
}
return result;