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]