org.apache.catalina.core

## 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.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JreMemoryLeakPreventionListener()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getClassesToInitialize()`
    `boolean` | `getForkJoinCommonPoolProtection()`
    `boolean` | `isAppContextProtection()`
    `boolean` | `isAWTThreadProtection()`
    `boolean` | `isDriverManagerProtection()`
    `boolean` | `isGcDaemonProtection()`
    `boolean` | `isLdapPoolProtection()`
    `boolean` | `isSecurityLoginConfigurationProtection()`
    `boolean` | `isSecurityPolicyProtection()`
    `boolean` | `isTokenPollerProtection()`
    `boolean` | `isUrlCacheProtection()`
    `boolean` | `isXmlParsingProtection()`
    `void` | `lifecycleEvent(LifecycleEvent event)` Acknowledge the occurrence of the specified event.
    `void` | `setAppContextProtection(boolean appContextProtection)`
    `void` | `setAWTThreadProtection(boolean awtThreadProtection)`
    `void` | `setClassesToInitialize(String classesToInitialize)`
    `void` | `setDriverManagerProtection(boolean driverManagerProtection)`
    `void` | `setForkJoinCommonPoolProtection(boolean forkJoinCommonPoolProtection)`
    `void` | `setGcDaemonProtection(boolean gcDaemonProtection)`
    `void` | `setLdapPoolProtection(boolean ldapPoolProtection)`
    `void` | `setSecurityLoginConfigurationProtection(boolean securityLoginConfigurationProtection)`
    `void` | `setSecurityPolicyProtection(boolean securityPolicyProtection)`
    `void` | `setTokenPollerProtection(boolean tokenPollerProtection)`
    `void` | `setUrlCacheProtection(boolean urlCacheProtection)`
    `void` | `setXmlParsingProtection(boolean xmlParsingProtection)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JreMemoryLeakPreventionListener

          public JreMemoryLeakPreventionListener()

  - ### Method Detail

    - #### 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)

    - #### isSecurityPolicyProtection

          public boolean isSecurityPolicyProtection()

    - #### setSecurityPolicyProtection

          public void setSecurityPolicyProtection(boolean securityPolicyProtection)

    - #### isSecurityLoginConfigurationProtection

          public boolean isSecurityLoginConfigurationProtection()

    - #### setSecurityLoginConfigurationProtection

          public void setSecurityLoginConfigurationProtection(boolean securityLoginConfigurationProtection)

    - #### 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)

    - #### 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

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.