# 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

Modifier and Type
Method
Description
`String`
`getClassesToInitialize()`
`boolean`
`getForkJoinCommonPoolProtection()`
`boolean`
`getInitSeedGenerator()`
`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`
`setInitSeedGenerator(boolean initSeedGenerator)`
`void`
`setLdapPoolProtection(boolean ldapPoolProtection)`
`void`
`setTokenPollerProtection(boolean tokenPollerProtection)`
`void`
`setUrlCacheProtection(boolean urlCacheProtection)`
`void`
`setXmlParsingProtection(boolean xmlParsingProtection)`

### Methods inherited from class Object

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

## Constructor Details

### JreMemoryLeakPreventionListener

public JreMemoryLeakPreventionListener()

## Method Details

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

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