我目前正在編寫一個Java應用程序,它很大程度上依賴於JDBC和與Oracle數據庫的連接。每當我連接到數據庫時,我都會關閉try-catch塊的finally塊中的連接,以避免連接泄漏。這工作得很好,直到現在。如何在程序崩潰時避免連接泄漏
但是現在我的程序因爲什麼原因而崩潰。在PLSQL Developer中,我仍然可以觀察到一個開放的JDBC瘦客戶端連接。我現在的問題是:如何關閉JDBC連接,當我不得不通過任務管理器殺死我的應用程序?
當然,這個崩潰不應該發生在第一位,但它仍然非常不令人滿意,這導致了連接泄漏,我現在不得不告訴DBA手動殺死JDBC會話,如果太多連接仍然開放。
謝謝,與DBA談論這確實是一個好主意。唯一的問題可能是,只要我的程序運行在我們公司之外(它是一個API測試工具,可能對我們的客戶很有意思),他們會面對同樣的問題,將不得不作出相同的調整他們的數據庫,這可能會使他們懷疑程序的穩定性^^ – Phreneticus
我不會太擔心發送錯誤的信號。設置'IDLE_TIME'是一個很好的連接特別是如果您有大量用戶訪問數據庫時進行聯合練習一羣用戶可以通過打開連接然後離開他們的機器而不關閉程序來輕易地阻止數據庫。 – DanK