Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47987
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 22 Oct 2009 15:44:06 +0000 (15:44 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 22 Oct 2009 15:44:06 +0000 (15:44 +0000)
Limit size of not found resources cache

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@828759 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/loader/WebappClassLoader.java

index 442eb0b..c87e5ed 100644 (file)
@@ -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;
@@ -244,7 +246,14 @@ public class WebappClassLoader
     /**
      * The list of not found resources.
      */
-    protected HashMap<String, String> notFoundResources = new HashMap<String, String>();
+    protected HashMap<String, String> notFoundResources =
+        new LinkedHashMap<String, String>() {
+        private static final long serialVersionUID = 1L;
+        protected boolean removeEldestEntry(
+                Map.Entry<String, String> eldest) {
+            return size() > 1000;
+        }
+    };
 
 
     /**