java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...
生活随笔
收集整理的這篇文章主要介紹了
java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個項目使用了druid作為數據源,每過幾十分鐘刷新頁面就會出現?java.net.SocketException: 斷開的管道 (Write failed) 錯誤。
后來給連接池配置部分加上了?
<property name="validationQuery" value="select 1"/><property name="testOnBorrow" value="true"/>問題得到了解決,應該是長時間沒有刷新頁面導致數據庫連接斷開了,再次訪問的時候使用了斷開的數據庫連接,所以出現報錯,加入了
testOnBorrow 屬性對數據庫連接的有效性進行了驗證,集群某實例宕掉時,如果連接剛好不處于通信階段,tcp連接正處于CLOSE_WAIT狀態或已關閉,當應用通過連接池getConnection時,在borrow時會檢測連接,由于連接已關閉,于是報了如下報錯,并重新建立新連接,此時的新連接到集群的其他實例上了。后面能正常通信。 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3143)at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:597)... 21 more
?
轉載于:https://www.cnblogs.com/wolf-zt/p/6522219.html
總結
以上是生活随笔為你收集整理的java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Linux调优工具oprofile的演
- 下一篇: mysql重复数据查询