2013-04-12 118 views
0

在我目前正在使用的系統中,我們使用Apache Commons GenericObjectPool作爲我們的Oracle連接池。我們最近已經注意到,不是所有的連接都被永久地保留和重用,連接池的連接數量會隨着連接數量的增加而下降。代碼中沒有任何一點是我們調用clear()或evict()方法,並且testOnBorrow和testOnReturn標誌都設置爲false。還有什麼可能導致對象被丟棄?什麼會導致GenericObjectPool刪除對象?

回答

1

解決這個,因爲我正在寫它。雖然我們將maxActive設置爲我們的首選池大小,但我們並未設置maxIdle屬性(默認值爲8),因此任何時候超過8個連接都處於空閒狀態,它們將被丟棄。

+0

對於那些想要修復大小的obj池的人,請設置N == maxIdle && N == maxActive – DiveInto

相關問題