You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2015/12/11 23:52:27 UTC

svn commit: r1719586 - in /commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver: CleanProcessor.java WeaveProcessor.java

Author: mbenson
Date: Fri Dec 11 22:52:27 2015
New Revision: 1719586

URL: http://svn.apache.org/viewvc?rev=1719586&view=rev
Log:
[WEAVER-7] support non-TCCL for Cleaner

Modified:
    commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
    commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java

Modified: commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java?rev=1719586&r1=1719585&r2=1719586&view=diff
==============================================================================
--- commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java (original)
+++ commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java Fri Dec 11 22:52:27 2015
@@ -32,6 +32,7 @@ import java.util.logging.Logger;
 import org.apache.commons.lang3.Validate;
 import org.apache.commons.weaver.model.WeaveEnvironment;
 import org.apache.commons.weaver.spi.Cleaner;
+import org.apache.commons.weaver.spi.Weaver;
 import org.apache.commons.weaver.utils.URLArray;
 import org.apache.xbean.finder.archive.FileArchive;
 
@@ -48,6 +49,12 @@ public class CleanProcessor {
 
     static {
         final List<Cleaner> cleaners = new ArrayList<Cleaner>();
+        final ClassLoader cleanerLoader = Cleaner.class.getClassLoader();
+        if (!Thread.currentThread().getContextClassLoader().equals(cleanerLoader)) {
+            for (final Cleaner cleaner : ServiceLoader.load(Cleaner.class, cleanerLoader)) {
+                cleaners.add(cleaner);
+            }
+        }
         for (final Cleaner cleaner : ServiceLoader.load(Cleaner.class)) {
             cleaners.add(cleaner);
         }

Modified: commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java
URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java?rev=1719586&r1=1719585&r2=1719586&view=diff
==============================================================================
--- commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java (original)
+++ commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java Fri Dec 11 22:52:27 2015
@@ -49,8 +49,9 @@ public class WeaveProcessor {
 
     static {
         final List<Weaver> weavers = new ArrayList<Weaver>();
-        if (!Thread.currentThread().getContextClassLoader().equals(Weaver.class.getClassLoader())) {
-            for (final Weaver weaver : ServiceLoader.load(Weaver.class, Weaver.class.getClassLoader())) {
+        final ClassLoader weaverLoader = Weaver.class.getClassLoader();
+        if (!Thread.currentThread().getContextClassLoader().equals(weaverLoader)) {
+            for (final Weaver weaver : ServiceLoader.load(Weaver.class, weaverLoader)) {
                 weavers.add(weaver);
             }
         }