1. 程式人生 > >SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAw

SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAw

問題: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