2017-02-02 74 views
0

我有一個Java Web應用程序,它使用Apache DBCP連接到Oracle數據庫。連接使用JNDI完成。在我的應用程序中,我需要對數據庫運行查詢,處理結果並保存更新。
問題是,無論我爲數據庫連接參數(maxWait,minEvictableIdleTimeMillis,testOnBorrow等設置了哪些屬性 - 我嘗試過所有這些屬性都使用了不同的值),我總是會在aprox後收到「連接已關閉」錯誤。 2.5分鐘。結果集I進程很大,執行時間超過2.5分鐘,但即使我執行分頁查詢,經常訪問數據庫,仍然會得到相同的錯誤。 另一個奇怪的是,無論我爲連接池大小設置了什麼值(使用maxActive,maxIdle,initialSize),如果我記錄了最大物理打開連接數,則值爲1. 您知道爲什麼發生這種情況嗎?這可能是由DB /網絡端的設置引起的嗎?Oracle Connection已關閉

回答

0

這可能由於多個問題而發生。

1)您所做的所有更改都在客戶端。你也應該看看其他領域。 2)檢查Oracle /服務器端設置,如sqlnet.ora以及數據庫級允許的最大連接數/會話和進程數。 3)檢查是否有任何關閉會話/連接的軟/硬防火牆設置。這可能是您「連接關閉」的原因。

謝謝 Rahul