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