Author: markt
Date: Sun Apr 22 17:32:43 2007
New Revision: 531306

URL: http://svn.apache.org/viewvc?view=rev&rev=531306
Log:
Fix some logging related memory leaks. This fixes 41272 and the root cause of 
41939.

Modified:
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/ManagerBase.java
    tomcat/container/tc5.5.x/webapps/docs/changelog.xml
    
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java?view=diff&rev=531306&r1=531305&r2=531306
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
 Sun Apr 22 17:32:43 2007
@@ -168,6 +168,8 @@
 
         super();
 
+        log =  LogFactory.getLog(ApplicationDispatcher.class);
+
         // Save all of our configuration parameters
         this.wrapper = wrapper;
         this.context = (Context) wrapper.getParent();
@@ -191,7 +193,7 @@
 
     // ----------------------------------------------------- Instance Variables
 
-    private static Log log = LogFactory.getLog(ApplicationDispatcher.class);
+    private Log log = null;
 
     /**
      * The Context this RequestDispatcher is associated with.

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/ManagerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/ManagerBase.java?view=diff&rev=531306&r1=531305&r2=531306
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/ManagerBase.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/ManagerBase.java
 Sun Apr 22 17:32:43 2007
@@ -62,7 +62,7 @@
  */
 
 public abstract class ManagerBase implements Manager, MBeanRegistration {
-    protected Log log = LogFactory.getLog(ManagerBase.class);
+    protected Log log = null;
 
     // ----------------------------------------------------- Instance Variables
 
@@ -692,11 +692,14 @@
             Registry.getRegistry(null, null).unregisterComponent(oname);
         initialized=false;
         oname = null;
+        log = null;
     }
     
     public void init() {
         if( initialized ) return;
         initialized=true;        
+        
+        log = LogFactory.getLog(ManagerBase.class);
         
         if( oname==null ) {
             try {

Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=531306&r1=531305&r2=531306
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Sun Apr 22 17:32:43 2007
@@ -67,6 +67,10 @@
         org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES to
         false will stop these fields being set to null on context stop. (markt)
       </fix>
+      <fix>
+        Fix a logging related memory leak in ManagerBase and
+        ApplicationDispatcher. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Webapps">
@@ -160,6 +164,9 @@
       <fix>
         <bug>42072</bug> Don't call destroy() if the associated init() fails.
         Patch provided by Kawasima Kazuh. (markt)
+      </fix>
+      <fix>
+        Fix a logging related memory leak in PageContextImpl. (markt)
       </fix>
     </changelog>
   </subsection>

Modified: 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java?view=diff&rev=531306&r1=531305&r2=531306
==============================================================================
--- 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java 
(original)
+++ 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java 
Sun Apr 22 17:32:43 2007
@@ -101,8 +101,6 @@
      * Constructor.
      */
     PageContextImpl(JspFactory factory) {
-        log = LogFactory.getLog(getClass());
-
         this.variableResolver = new VariableResolverImpl(this);
         this.outs = new BodyContentImpl[0];
         this.attributes = new Hashtable(16);
@@ -130,6 +128,8 @@
                              boolean autoFlush) throws IOException {
 
         // initialize state
+        log = LogFactory.getLog(getClass());
+
         this.servlet = servlet;
         this.config = servlet.getServletConfig();
         this.context = config.getServletContext();
@@ -199,6 +199,8 @@
         session = null;
 
         attributes.clear();
+        
+        log = null;
     }
 
     public Object getAttribute(final String name) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to