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