ServletContextCleaner (Commons Logging 1.1.1 API)
Keywords: org.apache.commons.logging.impl.ServletContextCleaner class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.logging.impl
Class ServletContextCleaner

    java.lang.Object
      org.apache.commons.logging.impl.ServletContextCleaner

All Implemented Interfaces:
  java.util.EventListener, javax.servlet.ServletContextListener

public class ServletContextCleaner
extends java.lang.Object
implements javax.servlet.ServletContextListener

This class is capable of receiving notifications about the undeployment of a webapp, and responds by ensuring that commons-logging releases all memory associated with the undeployed webapp.

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 accessable LogFactory class that the entry in its map for the current webapp's context classloader should be cleared.

Since:
  1.1

Constructor Summary
`ServletContextCleaner()`

Method Summary
`void` | `contextDestroyed(javax.servlet.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(javax.servlet.ServletContextEvent sce)` Invoked when a webapp is deployed.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ServletContextCleaner

    public ServletContextCleaner()

Method Detail

### contextDestroyed

    public void contextDestroyed(javax.servlet.ServletContextEvent sce)

  Invoked when a webapp is undeployed, this tells the LogFactory class to release any logging information related to the current contextClassloader.

  Specified by:
    `contextDestroyed` in interface `javax.servlet.ServletContextListener`

### contextInitialized

    public void contextInitialized(javax.servlet.ServletContextEvent sce)

  Invoked when a webapp is deployed. Nothing needs to be done here.

  Specified by:
    `contextInitialized` in interface `javax.servlet.ServletContextListener`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2007 The Apache Software Foundation. All Rights Reserved.