From: markt Date: Wed, 21 Oct 2009 20:57:14 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47987 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=9c3bdb5b85bd6e12b3faa36d93f767a5f274d7f5;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47987 Limit size of not found resources cache git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@828212 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/loader/WebappClassLoader.java b/java/org/apache/catalina/loader/WebappClassLoader.java index 442eb0b3a..10a00f3e0 100644 --- a/java/org/apache/catalina/loader/WebappClassLoader.java +++ b/java/org/apache/catalina/loader/WebappClassLoader.java @@ -41,6 +41,8 @@ import java.util.Collection; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; import java.util.Vector; import java.util.jar.Attributes; import java.util.jar.JarEntry; @@ -238,7 +240,14 @@ public class WebappClassLoader * The cache of ResourceEntry for classes and resources we have loaded, * keyed by resource name. */ - protected HashMap resourceEntries = new HashMap(); + protected HashMap resourceEntries = + new LinkedHashMap() { + private static final long serialVersionUID = 1L; + protected boolean removeEldestEntry( + Map.Entry eldest) { + return size() > 1000; + } + }; /**