2012-07-04 256 views
2

我們使用tomcat jdbc連接池與Oracle數據庫。 最近,我們遇到了來自JDBC THIN CLIENT的Oracle數據庫中非活動會話過多的問題。tomcat jdbc連接池與Oracle數據庫

任何人都可以幫助我們嗎?爲什麼會導致數據庫中的非活動會話以及可以解決的問題。

謝謝。

+1

爲什麼它是一個'問題',你有非活動會話? –

回答

0

根據the documentation調整池的設置。將maxIdleminEvictableIdleTimeMillis設置爲較低的值可以確保空閒連接快速被逐出,並且很少有空閒連接保持打開狀態。顯然,這也會讓你的游泳池效率下降,因爲連接將會關閉並更頻繁地打開。

+0

'maxActive'應該改變以避免會話過多的問題。 –

0

如果因爲連接超時而收到SQLException,您應該設置一個validationQuery(類似於SELECT 0 FROM DUAL),並且您的連接將在它們檢出池之前進行測試。任何失敗的連接都將被工作連接替換,然後返回到您的代碼。