我看到閒置連接沒有被清除。我不確定是什麼原因?DBCP2 BasicDataSource空閒連接沒有得到清除
INITIALSIZE-10 maxtotal-20 了maxidle-10 minidle-0 minEvictableIdleTimeMillis-30分鐘 numTestsPerEvictionRun-60分鐘 numTestsPerEvictionRun-20從雙 testOnBorrow真 testWhileIdle真 validationQuery選1
從各種來源提供的以下是我的理解 到數據源的maxtotal-maxactive連接,在上述情況下爲20個
maxidle-可以保留在池中的空閒連接的數量。這些被清掃器清除。在上述情況下,如果連接閒置30分鐘,則連接處於空閒狀態。如果清掃機每60分鐘運行一次,檢查20個空閒連接並清空空閒連接。空閒連接超過此將立即關閉。
上述理解是否正確?
我使用BasicDataSourceMXBean打印統計
{ 「NumActive」: 「0」, 「NumIdle」: 「10」, 「isClosed」: 「假」, 「maxTotal」: 「20」,」 MaxIdle「:」10「,」MinIdle「:」0「}
即使沒有流量,空閒連接永遠也不會被清除。上述配置有什麼問題嗎?
什麼是minIdle,什麼時候應該將它設置爲非零值?
最近升級的hibernate版本從3.6.0.Final到hibernate 4.3.11.Final和spring從老版本到4.2.9。
之前的空閒連接正在被清除。但是自從升級以來,空閒連接並沒有被清除。
你確定該設置不應該是'testWhileIdle'而不是'testOnIdle',因爲空閒連接被驅逐? – Naros