Author: markt Date: Mon Nov 4 23:55:08 2013 New Revision: 1538810 URL: http://svn.apache.org/r1538810 Log: Remove the nonFoundResources collection - WebResources will handle this.
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=1538810&r1=1538809&r2=1538810&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:55:08 2013 @@ -47,7 +47,6 @@ import java.util.ConcurrentModificationE import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -276,20 +275,6 @@ public class WebappClassLoader extends U /** - * The list of not found resources. - */ - protected final HashMap<String, String> notFoundResources = - new LinkedHashMap<String, String>() { - private static final long serialVersionUID = 1L; - @Override - protected boolean removeEldestEntry( - Map.Entry<String, String> eldest) { - return size() > 1000; - } - }; - - - /** * Should this class loader delegate to the parent class loader * <strong>before</strong> searching its own repositories (i.e. the * usual Java2 delegation model)? If set to <code>false</code>, @@ -832,7 +817,6 @@ public class WebappClassLoader extends U loader.lastModifiedDates = this.lastModifiedDates.clone(); loader.paths = this.paths.clone(); - loader.notFoundResources.putAll(this.notFoundResources); loader.permissionList.addAll(this.permissionList); loader.loaderPC.putAll(this.loaderPC); @@ -1699,7 +1683,6 @@ public class WebappClassLoader extends U jarFiles[i] = null; } - notFoundResources.clear(); resourceEntries.clear(); resources = null; repositoryURLs = null; @@ -2767,53 +2750,44 @@ public class WebappClassLoader extends U String fullPath = "/WEB-INF/classes/" + path; resource = resources.getClassLoaderResource("/" + path); - if (resource.exists()) { + if (!resource.exists()) { + return null; + } - contentLength = (int) resource.getContentLength(); - entry = new ResourceEntry(); - entry.source = resource.getURL(); - entry.codeBase = entry.source; - entry.lastModified = resource.getLastModified(); + contentLength = (int) resource.getContentLength(); + entry = new ResourceEntry(); + entry.source = resource.getURL(); + entry.codeBase = entry.source; + entry.lastModified = resource.getLastModified(); - binaryStream = resource.getInputStream(); + binaryStream = resource.getInputStream(); - if (needConvert) { - if (path.endsWith(".properties")) { - fileNeedConvert = true; - } + if (needConvert) { + if (path.endsWith(".properties")) { + fileNeedConvert = true; } + } - // Register the full path for modification checking - // Note: Only syncing on a 'constant' object is needed - synchronized (allPermission) { - - int j; + // Register the full path for modification checking + // Note: Only syncing on a 'constant' object is needed + synchronized (allPermission) { - long[] result2 = - new long[lastModifiedDates.length + 1]; - for (j = 0; j < lastModifiedDates.length; j++) { - result2[j] = lastModifiedDates[j]; - } - result2[lastModifiedDates.length] = entry.lastModified; - lastModifiedDates = result2; + int j; - String[] result = new String[paths.length + 1]; - for (j = 0; j < paths.length; j++) { - result[j] = paths[j]; - } - result[paths.length] = fullPath; - paths = result; + long[] result2 = + new long[lastModifiedDates.length + 1]; + for (j = 0; j < lastModifiedDates.length; j++) { + result2[j] = lastModifiedDates[j]; } - } + result2[lastModifiedDates.length] = entry.lastModified; + lastModifiedDates = result2; - if ((entry == null) && (notFoundResources.containsKey(name))) - return null; - - if (entry == null) { - synchronized (notFoundResources) { - notFoundResources.put(name, name); + String[] result = new String[paths.length + 1]; + for (j = 0; j < paths.length; j++) { + result[j] = paths[j]; } - return null; + result[paths.length] = fullPath; + paths = result; } JarEntry jarEntry = null; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org