當tomcat關閉時,我在catalina.out日誌文件中得到以下消息。我正在使用Tomcat 7.x和Tomcat JDBC數據源。tomcat7 - jdbc datasource - 這很可能會造成內存泄漏
Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/my_webapp] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/my_webapp] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
第一個聲稱數據源已被強制註銷,因此沒有問題。然而,這很奇怪,因爲我已經配置了這樣的破壞方法:
<bean name="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
不知道爲什麼我得到第二個。關於「MySQL語句取消計時器」的一個。
任何幫助表示讚賞
編輯1: 我試圖通過@Zelldon建議的修正,它擺脫了第一個錯誤。但MySQL Statement Cancellation Timer
相關問題仍然存在
可能重複[如何解決內存泄漏問題?](http://stackoverflow.com/questions/10615118/how-to-solve-memory-leak-problems) – OhadR 2016-12-12 12:45:21
請參閱此註釋以瞭解有關MySQL的更多信息取消線程問題。 https://stackoverflow.com/a/46733027/185565 – Whome 2017-10-13 15:16:08
https://stackoverflow.com/a/47019335/3408531 – TiMr 2017-10-30 16:04:06