Author: markt
Date: Mon Nov  4 23:59:24 2013
New Revision: 1538820

URL: http://svn.apache.org/r1538820
Log:
Remove unused JarFiles - class loader resources in JARs are obtained via
WebResources

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

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1538820&r1=1538819&r2=1538820&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Nov  4 
23:59:24 2013
@@ -5335,12 +5335,6 @@ public class StandardContext extends Con
             broadcaster.sendNotification(notification);
         }
 
-        // Close all JARs right away to avoid always opening a peak number
-        // of files on startup
-        if (getLoader() instanceof WebappLoader) {
-            ((WebappLoader) getLoader()).closeJARs(true);
-        }
-
         // Reinitializing if something went wrong
         if (!ok) {
             setState(LifecycleState.FAILED);

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=1538820&r1=1538819&r2=1538820&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:59:24 2013
@@ -293,13 +293,6 @@ public class WebappClassLoader extends U
      * The list of JARs, in the order they should be searched
      * for locally loaded classes or resources.
      */
-    protected JarFile[] jarFiles = new JarFile[0];
-
-
-    /**
-     * The list of JARs, in the order they should be searched
-     * for locally loaded classes or resources.
-     */
     protected File[] jarRealFiles = new File[0];
 
 
@@ -753,7 +746,6 @@ public class WebappClassLoader extends U
         loader.clearReferencesHttpClientKeepAliveThread = 
this.clearReferencesHttpClientKeepAliveThread;
 
         loader.repositoryURLs = this.repositoryURLs.clone();
-        loader.jarFiles = this.jarFiles.clone();
         loader.jarRealFiles = this.jarRealFiles.clone();
         loader.jarNames = this.jarNames.clone();
         loader.lastModifiedDates = this.lastModifiedDates.clone();
@@ -819,13 +811,6 @@ public class WebappClassLoader extends U
         if (!validateJarFile(file))
             return;
 
-        JarFile[] result2 = new JarFile[jarFiles.length + 1];
-        for (i = 0; i < jarFiles.length; i++) {
-            result2[i] = jarFiles[i];
-        }
-        result2[jarFiles.length] = jarFile;
-        jarFiles = result2;
-
         // Add the file to the list
         File[] result4 = new File[jarRealFiles.length + 1];
         for (i = 0; i < jarRealFiles.length; i++) {
@@ -1597,22 +1582,9 @@ public class WebappClassLoader extends U
 
         started = false;
 
-        int length = jarFiles.length;
-        for (int i = 0; i < length; i++) {
-            try {
-                if (jarFiles[i] != null) {
-                    jarFiles[i].close();
-                }
-            } catch (IOException e) {
-                // Ignore
-            }
-            jarFiles[i] = null;
-        }
-
         resourceEntries.clear();
         resources = null;
         repositoryURLs = null;
-        jarFiles = null;
         jarRealFiles = null;
         jarPath = null;
         jarNames = null;
@@ -1631,36 +1603,8 @@ public class WebappClassLoader extends U
     }
 
 
-    /**
-     * Used to periodically signal to the classloader to release
-     * JAR resources.
-     */
-    public void closeJARs(boolean force) {
-        if (jarFiles.length > 0) {
-                synchronized (jarFiles) {
-                    if (force || (System.currentTimeMillis()
-                                  > (lastJarAccessed + 90000))) {
-                        for (int i = 0; i < jarFiles.length; i++) {
-                            try {
-                                if (jarFiles[i] != null) {
-                                    jarFiles[i].close();
-                                    jarFiles[i] = null;
-                                }
-                            } catch (IOException e) {
-                                if (log.isDebugEnabled()) {
-                                    log.debug("Failed to close JAR", e);
-                                }
-                            }
-                        }
-                    }
-                }
-        }
-    }
-
-
     // ------------------------------------------------------ Protected Methods
 
-
     /**
      * Clear references.
      */
@@ -2511,29 +2455,6 @@ public class WebappClassLoader extends U
 
 
     /**
-     * Used to periodically signal to the classloader to release JAR resources.
-     */
-    protected boolean openJARs() {
-        if (started && (jarFiles.length > 0)) {
-            lastJarAccessed = System.currentTimeMillis();
-            if (jarFiles[0] == null) {
-                for (int i = 0; i < jarFiles.length; i++) {
-                    try {
-                        jarFiles[i] = new JarFile(jarRealFiles[i]);
-                    } catch (IOException e) {
-                        if (log.isDebugEnabled()) {
-                            log.debug("Failed to open JAR", e);
-                        }
-                        return false;
-                    }
-                }
-            }
-        }
-        return true;
-    }
-
-
-    /**
      * Find specified class in local repositories.
      *
      * @return the loaded class, or null if the class isn't found

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1538820&r1=1538819&r2=1538820&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Mon Nov  4 
23:59:24 2013
@@ -330,8 +330,6 @@ public class WebappLoader extends Lifecy
                         (context.getLoader().getClassLoader());
                 }
             }
-        } else {
-            closeJARs(false);
         }
     }
 
@@ -375,16 +373,6 @@ public class WebappLoader extends Lifecy
 
 
     /**
-     * Used to periodically signal to the classloader to release JAR resources.
-     */
-    public void closeJARs(boolean force) {
-        if (classLoader !=null) {
-            classLoader.closeJARs(force);
-        }
-    }
-
-
-    /**
      * Remove a property change listener from this component.
      *
      * @param listener The listener to remove



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

Reply via email to