Description
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...
Attachments
Issue Links
- is related to
-
LOG4J2-223 IllegalStateException thrown during Tomcat shutdown
-
- Closed
-