Tomcat 出現 JDBC Driver has been forcibly unregistered 錯誤

在deploy application的時候,偶爾會遇到 "SEVERE: A web application registered the JBDC 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." 這樣子的錯誤訊息。

查了一些資料後,發現在Tomcat 6.0.24之後增加了防止memory leak的feature,有幾個作法可以避免:

  • 忽略他
  • 使用6.0.23之前的版本
  • 將 JDBC Driver 的 library 放到 tomcat 下的 lib 目錄
  • 繼承 BasicDataSource,自己 close connection



【相關閱讀】
To prevent a memory leak, the JDBC Driver has been forcibly unregistered
Memory Leak Protection
MySQL create memory leak in Tomcat

Share this post!

Bookmark and Share

2 意見:

彭其捷 提到...

Tomcat 真的很容易出現很多問題耶 QQ ..

Unknown 提到...

畢竟是Open Source的,而且久病成良醫阿..XD