As per configuring_to_avoid_memory_leaks, I have configured c3p0 by setting contextClassLoaderSource= library
and privilegeSpawnedThreads=true
but still on tomcat shutdown I receive plenty of WARNING
and SEVERE
logs. posting tomcat shutdown log on other website as it's too large to post here.
In short I can see three types of logs again and again
WARNING: AccessControlContext of javax.imageio.spi.IIORegistry used
custom combiner - unsetting
WARNING: JDBC driver loaded by protected ClassLoader deregistered:
class com.mysql.cj.jdbc.Driver
Sep 14, 2018 10:55:18 AM
se.jiderhamn.classloader.leak.prevention.JULLogger warn WARNING: MBean
'com.mchange.v2.c3p0:type=C3P0Registry' was loaded by protected
ClassLoader; unregistering
Sep 14, 2018 10:55:18 AM
se.jiderhamn.classloader.leak.prevention.JULLogger warn WARNING: MBean
'com.mchange.v2.c3p0:type=PooledDataSource,identityToken=2ryr879x1niyl781nuvflb|3a05d421,name=2ryr879x1niyl781nuvflb|3a05d421' was loaded by protected ClassLoader; unregistering
Sep 14, 2018 10:55:18 AM se.jiderhamn.classloader.leak.prevention.JULLogger error
SEVERE: Internal registry of java.beans.PropertyEditorManager not
found
Sep 14, 2018 10:55:18 AM
se.jiderhamn.classloader.leak.prevention.JULLogger warn WARNING:
Stopping Timer thread
'C3P0PooledConnectionPoolManager[identityToken->2ryr879x1niyl781nuvflb|3a05d421]-AdminTaskTimer'
running in protected ClassLoader. Thread stack trace: at
java.lang.Object.wait(Native Method) at
java.util.TimerThread.mainLoop(Timer.java:552) at
java.util.TimerThread.run(Timer.java:505)
Sep 14, 2018 10:55:28 AM
org.apache.catalina.loader.WebappClassLoaderBase
clearReferencesThreads SEVERE: The web application [/OES-CLIENTWeb]
appears to have started a thread named
[C3P0PooledConnectionPoolManager[identityToken->2ryr879x1niyl781nuvflb|3a05d421]-HelperThread-#0]
but has failed to stop it. This is very likely to create a memory
leak.
whether am I missing some config or anything?
I am using:
- JDK= 8
- c3p0=0.9.5.2
- ClassLoaderLeakPreventor= 2.6.1
- javax.servlet-api=3.0.1