Class JreMemoryLeakPreventionListener

All Implemented Interfaces:

public class JreMemoryLeakPreventionListener extends Object implements LifecycleListener
Provide a workaround for known places where the Java Runtime environment can cause a memory leak or lock files.

Memory leaks occur when JRE code uses the context class loader to load a singleton as this will cause a memory leak if a web application class loader happens to be the context class loader at the time. The work-around is to initialise these singletons when Tomcat's common class loader is the context class loader.

Locked files usually occur when a resource inside a JAR is accessed without first disabling Jar URL connection caching. The workaround is to disable this caching by default.

This listener must only be nested within Server elements.

  • Constructor Details

    • JreMemoryLeakPreventionListener

      public JreMemoryLeakPreventionListener()
  • Method Details

    • isAppContextProtection

      public boolean isAppContextProtection()
    • setAppContextProtection

      public void setAppContextProtection(boolean appContextProtection)
    • isAWTThreadProtection

      public boolean isAWTThreadProtection()
    • setAWTThreadProtection

      public void setAWTThreadProtection(boolean awtThreadProtection)
    • isGcDaemonProtection

      public boolean isGcDaemonProtection()
    • setGcDaemonProtection

      public void setGcDaemonProtection(boolean gcDaemonProtection)
    • isTokenPollerProtection

      public boolean isTokenPollerProtection()
    • setTokenPollerProtection

      public void setTokenPollerProtection(boolean tokenPollerProtection)
    • isUrlCacheProtection

      public boolean isUrlCacheProtection()
    • setUrlCacheProtection

      public void setUrlCacheProtection(boolean urlCacheProtection)
    • isXmlParsingProtection

      public boolean isXmlParsingProtection()
    • setXmlParsingProtection

      public void setXmlParsingProtection(boolean xmlParsingProtection)
    • isLdapPoolProtection

      public boolean isLdapPoolProtection()
    • setLdapPoolProtection

      public void setLdapPoolProtection(boolean ldapPoolProtection)
    • isDriverManagerProtection

      public boolean isDriverManagerProtection()
    • setDriverManagerProtection

      public void setDriverManagerProtection(boolean driverManagerProtection)
    • getForkJoinCommonPoolProtection

      public boolean getForkJoinCommonPoolProtection()
    • setForkJoinCommonPoolProtection

      public void setForkJoinCommonPoolProtection(boolean forkJoinCommonPoolProtection)
    • getClassesToInitialize

      public String getClassesToInitialize()
    • setClassesToInitialize

      public void setClassesToInitialize(String classesToInitialize)
    • getInitSeedGenerator

      public boolean getInitSeedGenerator()
    • setInitSeedGenerator

      public void setInitSeedGenerator(boolean initSeedGenerator)
    • lifecycleEvent

      public void lifecycleEvent(LifecycleEvent event)
      Description copied from interface: LifecycleListener
      Acknowledge the occurrence of the specified event.
      Specified by:
      lifecycleEvent in interface LifecycleListener
      event - LifecycleEvent that has occurred