title: Why is Spring or C3p0 not cleaning up C3P0 threads?
body: <p>Similar to my question here <a href="https://stackoverflow.com/questions/31934799/spring-tomcat-c3p0pooledconnectionpoolmanager-creates-a-memory-leak">Spring Tomcat C3P0PooledConnectionPoolManager creates a memory leak</a> I wish to understand why Spring or C3P0 itself not cleaning up the threads it creates on shutdown?</p>
  
  <p>I get the following logs in Tomcat</p>
  
  <pre><code>SEVERE: The web application [/ul-xtrain] appears to have started a thread named [C3P0PooledConnectionPoolManager[identityToken-&gt;2wpukr9b7ohfj11xtbfft|725548e3]-AdminTaskTimer] but has failed to stop it. This is very likely to create a memory leak.
  </code></pre>
  
  <p>I am not interested in solution as I already have working solution based on these threads </p>
  
  <p><a href="https://stackoverflow.com/questions/16063414/hibernate4-c3p0-derby-memory-leak-on-tomcat-stop-or-web-application-reload/16078582#16078582">Hibernate4 + c3p0 + Derby - Memory Leak on Tomcat stop or web application reload</a></p>
  
  <p><a href="https://stackoverflow.com/questions/11872316/tomcat-guice-jdbc-memory-leak/16467695#16467695">Tomcat Guice/JDBC Memory Leak</a></p>
  
  <p><a href="https://stackoverflow.com/questions/3320400/to-prevent-a-memory-leak-the-jdbc-driver-has-been-forcibly-unregistered/9488093#9488093">To prevent a memory leak, the JDBC Driver has been forcibly unregistered</a></p>
  
  <p>I just wish to understand why Spring is not closing it. Thank you</p>