java.net.SocketException:管道损坏

时间:2009-03-25 17:15:14

标签: java sockets pipe resin

我从我的应用服务器获取所有数据库连接。
这个例外发生了几个小时,然后自行修复 与appserver的网络连接有什么关系?

java.net.SocketException: Broken pipe
com.inet.tds.SQLException: java.net.SocketException: Broken pipe
java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at com.inet.tds.a.a(Unknown Source)
    at com.inet.tds.a.a(Unknown Source)
    at com.inet.tds.a.commit(Unknown Source)
    at com.inet.pool.a.commit(Unknown Source)

3 个答案:

答案 0 :(得分:3)

对于MySQL,“默认情况下,如果没有发生任何事情,服务器会在八小时后关闭连接。”并且,MySQL具有重新连接功能,支持在客户端检测到关闭连接后自动重新连接。

八个小时?通过使用连接池或长时间运行的后台作业,这是可能的。

http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

答案 1 :(得分:1)

这意味着您的客户端已与服务器断开连接;检查它是否正在运行。 See here

答案 2 :(得分:1)

在写入期间,连接被切断,这可能是由于目标关闭连接或目标进程已终止。它不是你的实现错误。