Class JreMemoryLeakPreventionListener
java.lang.Object
org.apache.catalina.core.JreMemoryLeakPreventionListener
- All Implemented Interfaces:
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
ConstructorsConstructorDescriptionConstructs a new JreMemoryLeakPreventionListener. -
Method Summary
Modifier and TypeMethodDescriptionGet the classes to initialize.booleanGet the init seed generator flag.booleanGet the app context protection flag.booleanGet the DriverManager protection flag.booleanGet the URL cache protection flag.voidlifecycleEvent(LifecycleEvent event) Acknowledge the occurrence of the specified event.voidsetAppContextProtection(boolean appContextProtection) Set the app context protection flag.voidsetClassesToInitialize(String classesToInitialize) Set the classes to initialize.voidsetDriverManagerProtection(boolean driverManagerProtection) Set the DriverManager protection flag.voidsetInitSeedGenerator(boolean initSeedGenerator) Set the init seed generator flag.voidsetUrlCacheProtection(boolean urlCacheProtection) Set the URL cache protection flag.
-
Constructor Details
-
JreMemoryLeakPreventionListener
public JreMemoryLeakPreventionListener()Constructs a new JreMemoryLeakPreventionListener.
-
-
Method Details
-
isAppContextProtection
public boolean isAppContextProtection()Get the app context protection flag.- Returns:
- the app context protection flag
-
setAppContextProtection
public void setAppContextProtection(boolean appContextProtection) Set the app context protection flag.- Parameters:
appContextProtection- the flag to set
-
isUrlCacheProtection
public boolean isUrlCacheProtection()Get the URL cache protection flag.- Returns:
- the URL cache protection flag
-
setUrlCacheProtection
public void setUrlCacheProtection(boolean urlCacheProtection) Set the URL cache protection flag.- Parameters:
urlCacheProtection- the flag to set
-
isDriverManagerProtection
public boolean isDriverManagerProtection()Get the DriverManager protection flag.- Returns:
- the DriverManager protection flag
-
setDriverManagerProtection
public void setDriverManagerProtection(boolean driverManagerProtection) Set the DriverManager protection flag.- Parameters:
driverManagerProtection- the flag to set
-
getClassesToInitialize
Get the classes to initialize.- Returns:
- the classes to initialize
-
setClassesToInitialize
Set the classes to initialize.- Parameters:
classesToInitialize- the classes to initialize
-
getInitSeedGenerator
public boolean getInitSeedGenerator()Get the init seed generator flag.- Returns:
- the init seed generator flag
-
setInitSeedGenerator
public void setInitSeedGenerator(boolean initSeedGenerator) Set the init seed generator flag.- Parameters:
initSeedGenerator- the flag to set
-
lifecycleEvent
Description copied from interface:LifecycleListenerAcknowledge the occurrence of the specified event.- Specified by:
lifecycleEventin interfaceLifecycleListener- Parameters:
event- LifecycleEvent that has occurred
-