Author: markt
Date: Thu Feb 11 15:14:55 2010
New Revision: 909017

URL: http://svn.apache.org/viewvc?rev=909017&view=rev
Log:
More memory leak prevention - ResourceBundle

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
    tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.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=909017&r1=909016&r2=909017&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Thu Feb 
11 15:14:55 2010
@@ -47,6 +47,7 @@
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.ResourceBundle;
 import java.util.Vector;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.jar.Attributes;
@@ -1773,6 +1774,9 @@
             org.apache.juli.logging.LogFactory.release(this);
         }
         
+        // Clear any cached resource bundles
+        ResourceBundle.clearCache(this);
+
         // Clear the classloader reference in the VM's bean introspector
         java.beans.Introspector.flushCaches();
 

Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=909017&r1=909016&r2=909017&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java Thu Feb 
11 15:14:55 2010
@@ -20,6 +20,7 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.net.URL;
+import java.util.ResourceBundle;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
@@ -416,6 +417,9 @@
 
     public void destroy() {
         if (theServlet != null) {
+            // Memory leak prevention - ResourceBundle caches resources based
+            // on class loader
+            ResourceBundle.clearCache(ctxt.getJspLoader());
             theServlet.destroy();
             InstanceManager instanceManager = 
InstanceManagerFactory.getInstanceManager(config);
             try {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to