2013-02-13 32 views
4

SQL Server數據庫重新啓動後,我的Tomcat 6 Spring Web應用程序在第一次嘗試查詢數據庫時收到SQL異常。注意:在SQL Server重新啓動期間,Tomcat 6繼續運行,並且正在使用myBatis。例外情況如下:如何避免由於I/O錯誤導致的java.sql.SQLException:連接重置?

org.springframework.dao.DataAccessResourceFailureException: 查詢數據庫時出錯。原因:java.sql.SQLException:I/O錯誤:連接重置

任何後續查詢執行正常(無例外)。如何在第一個查詢中防止此異常?

+0

你打開和關閉在每次互動之前和之後進行連接,還是一直讓它打開? – 2013-02-13 22:19:18

+1

我沒有明確關閉或打開連接。我已連接池建立如下: <資源名稱= 「JDBC/webapp1」 AUTH = 「容器」 類型= 「javax.sql.DataSource中」 密碼= 「密碼」 driverClassName =「net.sourceforge.jtds .jdbc.Driver」 了maxidle = 「2」 MAXWAIT = 「5000」 的用戶名 = 「username」 的 URL = 「JDBC:JTDS:SQLSERVER:// sqlserver_url」 maxActive = 「4」/> James 2013-02-13 22:34:48

+0

井的問題是,當sql服務器出現故障時,連接中斷,在重置之前無法執行查詢(這是每次第一次查詢時發生的情況),所有我可以認爲是a)手動重置jdbc連接後r重新啓動,或者b)或許使用定時程序定期測試連接,並允許它拋出異常並重置連接 – 2013-02-13 22:41:39

回答

1

設置您的池將它們給你的應用程序

使用testOnBorrow = TRUE之前測試連接和(例如)validationQuery =「選擇1」在你的數據庫池連接

相關問題