SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been closed()


問題:Could not get JDBC Connection; nested exception is java.sql.SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been closed() -- you can no longer use it 異常

原因:由於連接池設置breakAfterAcquireFailure參數為true,出現服務網絡不穩定時導致

解決方法:breakAfterAcquireFailure :true表示pool向數據庫請求連接失敗后標記整個pool為block並close,就算后端數據庫恢復正常也不進行重連,客戶端對pool的請求都拒絕掉。false表示不會標記 pool為block,新的請求都會嘗試去數據庫請求connection。默認為false。因此,如果想讓數據庫和網絡故障恢復之后,pool能繼續請求正常資源必須把此項配置設為false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM