Package org.apache.catalina.core

## Class JreMemoryLeakPreventionListener

- java.lang.Object
- - org.apache.catalina.core.JreMemoryLeakPreventionListener

All Implemented Interfaces:
  `LifecycleListener`

    public class JreMemoryLeakPreventionListener
    extends java.lang.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
`JreMemoryLeakPreventionListener()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getClassesToInitialize()`
`boolean` `getForkJoinCommonPoolProtection()`
`boolean` `getInitSeedGenerator()`
`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​(java.lang.String classesToInitialize)`
`void` `setDriverManagerProtection​(boolean driverManagerProtection)`
`void` `setForkJoinCommonPoolProtection​(boolean forkJoinCommonPoolProtection)`
`void` `setGcDaemonProtection​(boolean gcDaemonProtection)`
`void` `setInitSeedGenerator​(boolean initSeedGenerator)`
`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 java.lang.String getClassesToInitialize()

#### setClassesToInitialize

    public void setClassesToInitialize​(java.lang.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`
Parameters:
  `event` - LifecycleEvent that has occurred