Class JreMemoryLeakPreventionListener

java.lang.Object
org.apache.catalina.core.JreMemoryLeakPreventionListener
All Implemented Interfaces:
LifecycleListener

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()
      Constructs a new JreMemoryLeakPreventionListener.
  • Method Details

    • isAppContextProtection

      public boolean isAppContextProtection()
      Get the app context protection flag.
      Returns:
      the app context protection flag
    • setAppContextProtection

      public void setAppContextProtection(boolean appContextProtection)
      Set the app context protection flag.
      Parameters:
      appContextProtection - the flag to set
    • isUrlCacheProtection

      public boolean isUrlCacheProtection()
      Get the URL cache protection flag.
      Returns:
      the URL cache protection flag
    • setUrlCacheProtection

      public void setUrlCacheProtection(boolean urlCacheProtection)
      Set the URL cache protection flag.
      Parameters:
      urlCacheProtection - the flag to set
    • isDriverManagerProtection

      public boolean isDriverManagerProtection()
      Get the DriverManager protection flag.
      Returns:
      the DriverManager protection flag
    • setDriverManagerProtection

      public void setDriverManagerProtection(boolean driverManagerProtection)
      Set the DriverManager protection flag.
      Parameters:
      driverManagerProtection - the flag to set
    • getClassesToInitialize

      public String getClassesToInitialize()
      Get the classes to initialize.
      Returns:
      the classes to initialize
    • setClassesToInitialize

      public void setClassesToInitialize(String classesToInitialize)
      Set the classes to initialize.
      Parameters:
      classesToInitialize - the classes to initialize
    • getInitSeedGenerator

      public boolean getInitSeedGenerator()
      Get the init seed generator flag.
      Returns:
      the init seed generator flag
    • setInitSeedGenerator

      public void setInitSeedGenerator(boolean initSeedGenerator)
      Set the init seed generator flag.
      Parameters:
      initSeedGenerator - the flag to set
    • lifecycleEvent

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