tomcat не выключается нормально из-за предотвращения утечки в загрузчике классов и c3p0 - PullRequest
0 голосов
/ 14 сентября 2018

Согласно configuring_to_avoid_memory_leaks , я настроил c3p0, установив contextClassLoaderSource= library и privilegeSpawnedThreads=true, но все еще при отключении tomcat я получаю множество журналов WARNING и SEVERE. размещение журнала выключения tomcat на другом веб-сайте, поскольку он слишком велик для размещения здесь.

Журнал выключения

Короче говоря, я снова и снова вижу три типа журналов

 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.

пропускаю ли я какой-нибудь конфиг или что-то еще?

Я использую:

  • JDK = 8
  • c3p0 = 0.9.5.2
  • ClassLoaderLeakPreventor = 2.6.1
  • javax.servlet-апи = 3.0.1
...