解决c3p0连接池异常问题
生活随笔
收集整理的這篇文章主要介紹了
解决c3p0连接池异常问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題日志: 系統頻繁的出現了如下日志: An SQLException was provoked by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool 錯誤日志的大概意思是:程序正在嘗試獲取一個已經關閉或者中斷的連接資源池。 問題原因: 由于c3p0的屬性breakAfterAcquireFailure 的配置為true,設置為true后只要pool向數據庫請求連接存在一次失敗后就會標記整個連接池為阻塞狀態并是連接池處于關閉狀態,這樣的話,即使數據庫存在空閑的連接,也不會去獲取連接,而是使整個連接池處于關閉狀態,這正好符合了我們的上面的提出的日志拋出的異常。所以,目前從上述的分析,應該是該連接池的屬性breakAfterAcquireFailure 為true引起的 問題修改: ? 基于上述分析,昨晚把c3p0的連接池屬性breakAfterAcquireFailure設置為false,這樣,就不會再請求連接失敗后,標記整個連接池不可用;在連接高峰期一會在重試時間后,獲取可用 數據庫連接
總結
以上是生活随笔為你收集整理的解决c3p0连接池异常问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PS画奥运五环
- 下一篇: 【考研英语】完形填空