解決java.sql.SQLException: Io 異常: Connection reset


java開發的平台項目,用odbc連接postgresql數據庫,有遇到java.sql.SQLException: Io 異常: Connection reset的報錯,嘗試解決

1、問題原因

當數據庫連接池中的連接被創建而長時間不使用的情況下,數據庫會自動回收該連接,但是客戶端並不一定知道,在進行數據庫操作時仍然使用的是老的無效的連接,這樣就會導致客戶端程序報錯“java.sql.SQLException: Io 異常: Connection reset”或者“java.sql.SQLException 關閉的連接”

2、嘗試解決問題的思路

  • 會先考慮配置的數據庫連接池的連接數是不是不夠用,如果是則需要對連接池的最大、最小以及空閑連接數等做調整;
  • 數據庫的連接池中的連接長時間不用被數據庫回收后斷開,而客戶端不知道,這樣的話可以考慮配置對連接池的連接進行有效的檢查,如配置有效性連接檢查的sql語句,經常能看到“select 1 from dual”或者“spring.jta.atomikos.datasource.test-query=select 1”這樣的語句


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM