You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/11/05 00:56:41 UTC

svn commit: r1538814 - /tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Author: markt
Date: Mon Nov  4 23:56:41 2013
New Revision: 1538814

URL: http://svn.apache.org/r1538814
Log:
Remove the anti JAR locking feature. It will be replaced by tracking of
InputStreams obtained from the WebResources. This will allow
identification of the resource leaks.

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1538814&r1=1538813&r2=1538814&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Nov  4 23:56:41 2013
@@ -205,15 +205,8 @@ public class WebappClassLoader extends U
         StringManager.getManager(Constants.Package);
 
 
-    /**
-     * Use anti JAR locking code, which does URL rerouting when accessing
-     * resources.
-     */
-    boolean antiJARLocking = false;
-
     // ----------------------------------------------------------- Constructors
 
-
     /**
      * Construct a new ClassLoader with no defined repositories and no
      * parent ClassLoader.
@@ -512,21 +505,6 @@ public class WebappClassLoader extends U
 
 
     /**
-     * @return Returns the antiJARLocking.
-     */
-    public boolean getAntiJARLocking() {
-        return antiJARLocking;
-    }
-
-
-    /**
-     * @param antiJARLocking The antiJARLocking to set.
-     */
-    public void setAntiJARLocking(boolean antiJARLocking) {
-        this.antiJARLocking = antiJARLocking;
-    }
-
-    /**
      * If there is a Java SecurityManager create a read FilePermission
      * or JndiPermission for the file directory path.
      *
@@ -795,7 +773,6 @@ public class WebappClassLoader extends U
 
         WebappClassLoader loader = new WebappClassLoader(this.parent);
 
-        loader.antiJARLocking = this.antiJARLocking;
         loader.resources = this.resources;
         loader.delegate = this.delegate;
         loader.lastJarAccessed = this.lastJarAccessed;
@@ -1205,22 +1182,6 @@ public class WebappClassLoader extends U
         // (2) Search local repositories
         url = findResource(name);
         if (url != null) {
-            // Locating the repository for special handling in the case
-            // of a JAR
-            if (antiJARLocking) {
-                ResourceEntry entry = resourceEntries.get(name);
-                try {
-                    String repository = entry.codeBase.toString();
-                    if ((repository.endsWith(".jar"))
-                            && (!(name.endsWith(CLASS_FILE_SUFFIX)))) {
-                        // Copy binary content to the work directory if not present
-                        File resourceFile = new File(loaderDir, name);
-                        url = getURI(resourceFile);
-                    }
-                } catch (Exception e) {
-                    // Ignore
-                }
-            }
             if (log.isDebugEnabled())
                 log.debug("  --> Returning '" + url.toString() + "'");
             return (url);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org