我正在使用連接到Mysql數據庫的Java Web應用程序(spring mvc)。 當我晚上離開我的應用程序,並沒有要求在夜間處理,在早上它是拋出java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Software caused connection abort: recv failed
錯誤。 我正在使用Apache JDBC連接池,即在我的Spring配置文件中。如何解決java.net.SocketException:軟件導致連接中止:recv失敗
我做了一些研究,發現問題的真正原因是,閒置,當數據庫連接超時,當Java應用程序試圖使用這些陳舊的連接,它拋出
java.sql.SQLException: Communication link failure:
java.net.SocketException, underlying cause: Software caused connection abort: recv failed error.
您可以嘗試推行一種心跳機制,以使一個簡單的請求到數據庫,也就是說,每分鐘以保持連接活着。例如,實現一個簡單的存儲函數,它接收一個整數值並返回相同的值。這將消耗您的服務器資源幾乎沒有,同時防止空閒超時。 – FDavidov
[com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信鏈接失敗導致連接中止的軟件:recv失敗]的可能重複(http://stackoverflow.com/questions/9527459/com-mysql-jdbc-exceptions-jdbc4 -communicationsexception-communications-link-fai) –
[正式原因導致軟件連接中止:套接字寫入錯誤](http://stackoverflow.com/questions/2126607/official-reasons-for-software-caused -connection-abort-socket-write-error) – EJP