public class ServletContextCleaner extends Object implements ServletContextListener
In general, the WeakHashtable support added in commons-logging release 1.1 ensures that logging classes do not hold references that prevent an undeployed webapp's memory from being garbage-collected even when multiple copies of commons-logging are deployed via multiple classloaders (a situation that earlier versions had problems with). However there are some rare cases where the WeakHashtable approach does not work; in these situations specifying this class as a listener for the web application will ensure that all references held by commons-logging are fully released.
To use this class, configure the webapp deployment descriptor to call this class on webapp undeploy; the contextDestroyed method will tell every accessible LogFactory class that the entry in its map for the current webapp's context classloader should be cleared.
Constructor and Description |
---|
ServletContextCleaner() |
Modifier and Type | Method and Description |
---|---|
void |
contextDestroyed(ServletContextEvent sce)
Invoked when a webapp is undeployed, this tells the LogFactory
class to release any logging information related to the current
contextClassloader.
|
void |
contextInitialized(ServletContextEvent sce)
Invoked when a webapp is deployed.
|
public ServletContextCleaner()
public void contextDestroyed(ServletContextEvent sce)
contextDestroyed
in interface ServletContextListener
public void contextInitialized(ServletContextEvent sce)
contextInitialized
in interface ServletContextListener
Copyright © 2001–2014 The Apache Software Foundation. All rights reserved.