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 2013/12/05 19:12:39 UTC

svn commit: r1548226 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java

Author: rmannibucau
Date: Thu Dec  5 18:12:38 2013
New Revision: 1548226

URL: http://svn.apache.org/r1548226
Log:
slight optim on slf4j skip algo

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.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/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1548226&r1=1548225&r2=1548226&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 Dec  5 18:12:38 2013
@@ -17,7 +17,6 @@
 package org.apache.openejb.util.classloader;
 
 import org.apache.openejb.core.ParentClassLoaderFinder;
-import org.apache.openejb.core.TempClassLoader;
 import org.apache.openejb.loader.SystemInstance;
 
 import java.io.IOException;
@@ -378,14 +377,6 @@ public class URLClassLoaderFirst extends
 
     }
 
-    private static ClassLoader findParent(final ClassLoader loader) {
-        ClassLoader parentLoader = loader.getParent();
-        while (parentLoader != null && TempClassLoader.class.isInstance(parentLoader) && URLClassLoaderFirst.class.getClassLoader() != parentLoader) {
-            parentLoader = parentLoader.getParent();
-        }
-        return parentLoader;
-    }
-
     // in org.apache.openejb.
     private static boolean isWebAppEnrichment(final String openejb) {
         return openejb.startsWith("hibernate.") || openejb.startsWith("jpa.integration.")
@@ -407,21 +398,23 @@ public class URLClassLoaderFirst extends
     }
 
     public static boolean shouldSkipSlf4j(final ClassLoader loader, final String name) {
+        if (name == null || !name.startsWith("org.slf4j.")) {
+            return true;
+        }
+
         try { // using getResource here just returns randomly the container one so we need getResources
             final Enumeration<URL> resources = loader.getResources(SLF4J_BINDER_CLASS);
             while (resources.hasMoreElements()) {
                 final URL resource = resources.nextElement();
-                if (resource.equals(SLF4J_CONTAINER)) {
-                    continue;
-                }
-                if (!(name != null && name.startsWith("org.slf4j.") && resource != null
-                        && resource.equals(findParent(loader).getResource(SLF4J_BINDER_CLASS)))) {
+                if (!resource.equals(SLF4J_CONTAINER)) {
+                    // applicative slf4j
                     return false;
                 }
             }
         } catch (final Throwable e) {
             // no-op
         }
+
         return true;
     }