[ 
https://issues.apache.org/jira/browse/LOG4J2-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13645321#comment-13645321
 ] 

Ralph Goers commented on LOG4J2-222:
------------------------------------

The problems were:
a) The disruptor was only being stopped during a shutdown. However, a 
reconfiguration from an async logger to a synchronous logger would cause it to 
never shutdown.
b) The disruptor is a singleton and could be shared by multiple things. A 
counter was added to keep track of them and only allow shutdown when everything 
is complete.
c) The disruptor was shutting down before the managers using it were stopped. 
It now stops after them so they can successfully complete.
                
> Async Logger threadpool not shut down by Tomcat shutdown
> --------------------------------------------------------
>
>                 Key: LOG4J2-222
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-222
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-beta5
>            Reporter: Remko Popma
>             Fix For: 2.0-beta6
>
>
> From the user mailing list - conversation with Steven Yang:
> Looks like Tomcat shutdown checks for memory leaks and notices that the 
> Disruptor threadpool used by async loggers has not been shut down.
> Is there any way to pick up a Tomcat shutdown signal and use that to trigger 
> log subsystem shutdown?
> -------------------------
> QUOTING STEVEN:
> Thanks, I tried using asyncRoot and everything seems to log fine and I do see 
> a lot of logs.
> And logs do seem to be flushed immediately so I do not know if the hook on 
> shutdown is been called correctly or not.
> I am using struts and spring so I see a lot of logs (log level at DEBUG) just 
> by starting up tomcat, so I am wondering when I use <root> how come I dont 
> see any log at all? how much log do I have to write before it starts to flush 
> out? 
> and one thing I found is that when I use asyncRoot and when I shutdown tomcat 
> I see the following message regarding to clearing references and thread local.
> The last one is related to log4j.
> I am trying this on tomcat 6.0.29. 
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearReferencesJdbc
> SEVERE: The web application [/test] registered the JBDC driver 
> [org.h2.Driver] but failed to unregister it when the web application was 
> stopped. To prevent a memory leak, the JDBC Driver has been forcibly 
> unregistered.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearReferencesThreads
> SEVERE: The web application [/test] appears to have started a thread named 
> [pool-2-thread-1] but has failed to stop it. This is very likely to create a 
> memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type 
> [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@454e119d]) and a value 
> of type [com.opensymphony.xwork2.inject.ContainerImpl] (value 
> [com.opensymphony.xwork2.inject.ContainerImpl@8667df7]) but failed to remove 
> it when the web application was stopped. This is very likely to create a 
> memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type 
> [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@d7e770]) and a value of 
> type [org.apache.logging.log4j.core.impl.Log4jLogEvent] (value 
> [Logger=org.springframework.beans.factory.support.DefaultListableBeanFactory 
> Level=INFO Message=Destroying singletons in 
> org.springframework.beans.factory.support.DefaultListableBeanFactory@61e118f9:
>  defining beans 
> [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframewo...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to