From 9c3bdb5b85bd6e12b3faa36d93f767a5f274d7f5 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 21 Oct 2009 20:57:14 +0000 Subject: [PATCH] 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 --- java/org/apache/catalina/loader/WebappClassLoader.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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; + } + }; /** -- 2.11.0