You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2016/07/02 14:12:22 UTC

svn commit: r1751067 - in /axis/axis2/java/core/branches/1_7: ./ modules/kernel/src/org/apache/axis2/classloader/ modules/kernel/src/org/apache/axis2/deployment/ modules/kernel/src/org/apache/axis2/deployment/util/ modules/kernel/test/org/apache/axis2/...

Author: veithen
Date: Sat Jul  2 14:12:21 2016
New Revision: 1751067

URL: http://svn.apache.org/viewvc?rev=1751067&view=rev
Log:
AXIS2-5792: Merge r1751057 to the 1.7 branch.

Removed:
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/AbstractResourceHandle.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/AbstractUrlResourceLocation.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/DirectoryResourceHandle.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/DirectoryResourceLocation.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/IoUtil.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarFileUrlConnection.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarFileUrlStreamHandler.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarResourceHandle.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarResourceLocation.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/JarStreamHandlerFactory.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/ResourceEnumeration.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/ResourceFinder.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/ResourceHandle.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/ResourceLocation.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/classloader/UrlResourceFinder.java
    axis/axis2/java/core/branches/1_7/modules/kernel/test/org/apache/axis2/classloader/
Modified:
    axis/axis2/java/core/branches/1_7/   (props changed)
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
    axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java

Propchange: axis/axis2/java/core/branches/1_7/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Jul  2 14:12:21 2016
@@ -1,4 +1,4 @@
 /axis/axis2/java/core/branches/1_6:1295540
 /axis/axis2/java/core/branches/AXIOM-420:1334386-1336397
 /axis/axis2/java/core/branches/AXIS2-4318:1230452,1295542,1324772,1327468,1329571,1332141,1335355,1335357,1340985
-/axis/axis2/java/core/trunk:1726494,1726509,1726513,1727171,1727174,1727177,1727180,1729891,1730095,1730139,1730180,1730186,1730195,1730197,1730222,1730300,1730308,1730310,1730317,1730322,1730335,1730369,1730427,1730618,1731425,1731441,1731446,1731448,1732354,1733137,1733663,1733713,1733766,1733770,1733773,1733850,1734176,1735331,1735795,1736512,1736543,1737030,1737567,1739001,1739186,1739343,1739346,1739348,1739493,1739592,1739594,1739815,1739826,1740693-1740694,1743824,1745826,1745860,1745869,1745875,1745912,1745924,1745929,1745941,1746001,1746028,1746109,1746782,1746784,1746787,1746813,1746842,1746880,1746883,1746889,1746894,1747448,1747466,1747503,1747575,1747578,1747601,1747773,1747920
+/axis/axis2/java/core/trunk:1726494,1726509,1726513,1727171,1727174,1727177,1727180,1729891,1730095,1730139,1730180,1730186,1730195,1730197,1730222,1730300,1730308,1730310,1730317,1730322,1730335,1730369,1730427,1730618,1731425,1731441,1731446,1731448,1732354,1733137,1733663,1733713,1733766,1733770,1733773,1733850,1734176,1735331,1735795,1736512,1736543,1737030,1737567,1739001,1739186,1739343,1739346,1739348,1739493,1739592,1739594,1739815,1739826,1740693-1740694,1743824,1745826,1745860,1745869,1745875,1745912,1745924,1745929,1745941,1746001,1746028,1746109,1746782,1746784,1746787,1746813,1746842,1746880,1746883,1746889,1746894,1747448,1747466,1747503,1747575,1747578,1747601,1747773,1747920,1751057

Modified: axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=1751067&r1=1751066&r2=1751067&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Sat Jul  2 14:12:21 2016
@@ -22,7 +22,6 @@ package org.apache.axis2.deployment;
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
-import org.apache.axis2.classloader.JarFileClassLoader;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.deployment.repository.util.ArchiveReader;
 import org.apache.axis2.deployment.repository.util.DeploymentFileData;
@@ -47,6 +46,7 @@ import org.apache.commons.logging.LogFac
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import java.io.BufferedReader;
+import java.io.Closeable;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -1156,19 +1156,23 @@ public abstract class DeploymentEngine i
         return (extensionMap != null) ? extensionMap.get(extension) : null;
     }
 
+    private static void destroyClassLoader(ClassLoader classLoader) {
+        if (classLoader instanceof DeploymentClassLoader && classLoader instanceof Closeable) {
+            try {
+                ((Closeable)classLoader).close();
+            } catch (IOException ex) {
+                log.warn("Failed to destroy class loader " + classLoader, ex);
+            }
+        }
+    }
+
     /**
      * Clean up the mess
      */
     public void cleanup() {
-        if (axisConfig.getModuleClassLoader() instanceof JarFileClassLoader) {
-            ((JarFileClassLoader) axisConfig.getModuleClassLoader()).destroy();
-        }
-        if (axisConfig.getServiceClassLoader() instanceof JarFileClassLoader) {
-            ((JarFileClassLoader) axisConfig.getServiceClassLoader()).destroy();
-        }
-        if (axisConfig.getSystemClassLoader() instanceof JarFileClassLoader) {
-            ((JarFileClassLoader) axisConfig.getSystemClassLoader()).destroy();
-        }
+        destroyClassLoader(axisConfig.getModuleClassLoader());
+        destroyClassLoader(axisConfig.getServiceClassLoader());
+        destroyClassLoader(axisConfig.getSystemClassLoader());
         if (scheduler != null) {
             scheduler.cleanup(schedulerTask);
         }

Modified: axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?rev=1751067&r1=1751066&r2=1751067&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ axis/axis2/java/core/branches/1_7/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Sat Jul  2 14:12:21 2016
@@ -25,7 +25,6 @@ import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.classloader.JarFileClassLoader;
 import org.apache.axis2.Constants;
 import org.apache.axis2.jaxrs.JAXRSModel;
 import org.apache.axis2.context.ConfigurationContext;
@@ -348,11 +347,7 @@ public class Utils {
             classLoader = (URLClassLoader)AccessController
                     .doPrivileged(new PrivilegedAction() {
                         public Object run() {
-                            if (useJarFileClassLoader()) {
-                                return new JarFileClassLoader(urllist, parent);
-                            } else {
-                                return new DeploymentClassLoader(urllist, null, parent, isChildFirstClassLoading);
-                            }
+                            return new DeploymentClassLoader(urllist, null, parent, isChildFirstClassLoading);
                         }
                     });
             return classLoader;
@@ -361,20 +356,6 @@ public class Utils {
         }
     }
 
-    private static boolean useJarFileClassLoader() {
-        // The JarFileClassLoader was created to address a locking problem seen only on Windows platforms.
-        // It carries with it a slight performance penalty that needs to be addressed.  Rather than make
-        // *nix OSes carry this burden we'll engage the JarFileClassLoader for Windows or if the user 
-        // specifically requests it.
-        boolean useJarFileClassLoader;
-        if (System.getProperty("org.apache.axis2.classloader.JarFileClassLoader") == null) {
-            useJarFileClassLoader = System.getProperty("os.name").startsWith("Windows");
-        } else {
-            useJarFileClassLoader = Boolean.getBoolean("org.apache.axis2.classloader.JarFileClassLoader");
-        }
-        return useJarFileClassLoader;
-    }
-
     private static boolean addFiles(ArrayList urls, final File libfiles)
             throws MalformedURLException {
         Boolean exists = (Boolean)org.apache.axis2.java.security.AccessController