mybatis報連線池滿錯誤

2021-10-07 17:43:36 字數 494 閱讀 2063

程式報這個異常

### cause: org.springframework.jdbc.cannotgetjdbcconnectionexception: failed to obtain jdbc connection; nested exception is com.alibaba.druid.pool.getconnectiontimeoutexception: wait millis 60000, active 20, maxactive 20, creating 0, runningsqlcount 20 :
跟了遍原始碼

發現即使sql執行報錯,druid連線池也會釋放

在這裡會進行資源**,釋放,然後連線資訊會再次放到connection陣列最後

所以經排查,問題是出現在資料庫io大,有多個執行緒處於等待狀態

mybatis連線池原理

補充說明 1.pooleddatasourc中包含乙個poolstate物件,這個物件包含了兩個集合,idleconnections 儲存連線池中空閒的執行緒 activeconnections 儲存連線池中活動的執行緒 2.建立新執行緒 pooledconnection conn new pool...

mybatis的連線池 事務

一 連線池 資料庫連線池負責分配,管理,釋放資料庫連線 實際開發中一般都會使用連線池,可以減少獲取連線所消耗的時間 mybatis 中資料來源的配置我們的資料來源配置就是在 sqlmapconfig.xml 檔案中 type pooled name driver value name url val...

解決建立連線池出現錯誤

今天,試著做老師交代的題目,建立乙個連線池。但是在建立connection物件的 時候,出現 too mang connections 的錯誤,自己試著把連線數降低,異常就消失了,但是對為什麼出現這個的異常不是太了解,只是知道建立的connection物件過多的緣故,至於根源是什麼,自己不是很了解。...