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
Serverelements.
-
-
Constructor Summary
Constructors Constructor Description JreMemoryLeakPreventionListener()Constructs a new JreMemoryLeakPreventionListener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetClassesToInitialize()Get the classes to initialize.booleangetInitSeedGenerator()Get the init seed generator flag.booleanisAppContextProtection()Get the app context protection flag.booleanisDriverManagerProtection()Get the DriverManager protection flag.booleanisUrlCacheProtection()Get 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(java.lang.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.
-
-
-
Method Detail
-
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
public java.lang.String getClassesToInitialize()
Get the classes to initialize.- Returns:
- the classes to initialize
-
setClassesToInitialize
public void setClassesToInitialize(java.lang.String classesToInitialize)
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
public void lifecycleEvent(LifecycleEvent event)
Description copied from interface:LifecycleListenerAcknowledge the occurrence of the specified event.- Specified by:
lifecycleEventin interfaceLifecycleListener- Parameters:
event- LifecycleEvent that has occurred
-
-