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
`String` `getClassesToInitialize()`
`boolean` `isAppContextProtection()`
`boolean` `isAWTThreadProtection()`
`boolean` `isDriverManagerProtection()`
`boolean` `isGcDaemonProtection()`
`boolean` `isJava2DDisposerProtection()`
`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` `setGcDaemonProtection(boolean gcDaemonProtection)`
`void` `setJava2DDisposerProtection(boolean java2dDisposerProtection)`
`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)

#### isJava2DDisposerProtection

    public boolean isJava2DDisposerProtection()

#### setJava2DDisposerProtection

    public void setJava2DDisposerProtection(boolean java2dDisposerProtection)

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

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