Information
The JRE Memory Leak Prevention Listener provides work-arounds for known places where the Java Runtime Environment 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 initialize these singletons when this listener starts as Tomcat's common class loader is the context class loader at that time. It also provides work-arounds for known issues that can result in locked JAR files.
Rationale:
Enabling the JRE Memory Leak Prevention Listener provides work-arounds for preventing memory leaks.
Solution
Uncomment the JRE Memory Leak Prevention Listener in $CATALINA_HOME/conf/server.xml
<Listener className='org.apache.catalina.core.JreMemoryLeakPreventionListener' />
References:
https://tomcat.apache.org/tomcat-8.0-doc/config/listeners.html#JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener