java.net.SocketException: сломанная труба - PullRequest
4 голосов
/ 25 марта 2009

Я получаю это для всех соединений с базой данных с моего сервера приложений ..
Это исключение происходило в течение нескольких часов, а затем исправлялось само собой.
Что-то связанное с сетевым подключением с сервера приложений?

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 ]

3 голосов
/ 25 марта 2009

Для MySQL: «По умолчанию сервер закрывает соединение через восемь часов, если ничего не произошло». Кроме того, MySQL имеет функцию переподключения, которая поддерживает автоматическое переподключение после обнаружения закрытого соединения на стороне клиента.

Восемь часов? Это возможно при использовании пула соединений или длительной фоновой работы.

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

1 голос
/ 25 марта 2009

Во время записи соединение было разорвано, это может быть связано с тем, что адресат закрывает соединение или процесс назначения был прерван. Это не ошибка с вашей реализацией.

1 голос
/ 25 марта 2009

Это означает, что ваш клиент отключился от сервера; проверьте, работает ли он. Смотрите здесь

...