2013-05-22 87 views
0

我正在使用Glassfish 3 & mysql5.6.11。數據庫連接在glassfish空閒超時後不會釋放

我已經創建了JDBC connection pool in glassfish

Initial and Minimum Pool Size: - 8 
Maximum Pool Size: -30 
Pool Resize Quantity:- 10 
Idle Timeout: - 60 (second). 
Max Wait Time:- 2500 (millisecond). 

用這個參數我有創建的池設置

我有設置池調整大小數量值

當沒有連接增加時,在空閒超時後不釋放。 下一次當我打到url時,它再次增加沒有連接,它不會重用已經打開的連接。

我正在

java.sql.SQLException: Error in allocating a connection. Cause: In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connections. 

我使用SHOW PROCESSLIST在mysql中顯示打開的連接變得異常。

如果有人知道這個問題的解決方案,請與我分享您的想法。

我需要任何人的幫助。

回答

0

空閒超時只是池中未使用的連接在關閉/再循環之前將保留在池中的時間。您遇到的問題很可能是您在使用後未關閉連接。

修復代碼以便在完成關閉連接後關閉連接將關閉連接將其釋放回連接池,以便它們可供重用。

某些連接池在連接可以使用的時候會有額外的超時,在該時間後強制連接回到池中。該連接的用戶看起來好像連接已關閉。我不認爲玻璃魚池有這個選項。

+0

我已經編寫了關閉連接的代碼。 –

+0

我已經編寫了關閉連接的代碼。它只發生在Glassfish中部署的應用程序中,它與POJO類一起工作良好。 –

相關問題