JreMemoryLeakPreventionListener (Apache Tomcat 10.0.20 API Documentation)

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

  This listener must only be nested within `Server` elements.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JreMemoryLeakPreventionListener()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getClassesToInitialize()` |
    `boolean` | `getForkJoinCommonPoolProtection()` |
    `boolean` | `isAppContextProtection()` |
    `boolean` | `isAWTThreadProtection()` |
    `boolean` | `isDriverManagerProtection()` |
    `boolean` | `isGcDaemonProtection()` |
    `boolean` | `isLdapPoolProtection()` |
    `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` | `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)

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