我們使用tomcat jdbc連接池與Oracle數據庫。 最近,我們遇到了來自JDBC THIN CLIENT的Oracle數據庫中非活動會話過多的問題。tomcat jdbc連接池與Oracle數據庫
任何人都可以幫助我們嗎?爲什麼會導致數據庫中的非活動會話以及可以解決的問題。
謝謝。
我們使用tomcat jdbc連接池與Oracle數據庫。 最近,我們遇到了來自JDBC THIN CLIENT的Oracle數據庫中非活動會話過多的問題。tomcat jdbc連接池與Oracle數據庫
任何人都可以幫助我們嗎?爲什麼會導致數據庫中的非活動會話以及可以解決的問題。
謝謝。
根據the documentation調整池的設置。將maxIdle
和minEvictableIdleTimeMillis
設置爲較低的值可以確保空閒連接快速被逐出,並且很少有空閒連接保持打開狀態。顯然,這也會讓你的游泳池效率下降,因爲連接將會關閉並更頻繁地打開。
'maxActive'應該改變以避免會話過多的問題。 –
如果因爲連接超時而收到SQLException
,您應該設置一個validationQuery
(類似於SELECT 0 FROM DUAL
),並且您的連接將在它們檢出池之前進行測試。任何失敗的連接都將被工作連接替換,然後返回到您的代碼。
爲什麼它是一個'問題',你有非活動會話? –