java.net.SocketException:管道破损

前端之家收集整理的这篇文章主要介绍了java.net.SocketException:管道破损前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我每天收到这个错误或我的jsp页面
java.net.SocketException

消息:管道破损

堆栈跟踪:

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 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.MysqL.jdbc.MysqLIO.send(MysqLIO.java:2637)
        ....

重启tomcat服务后,工作正常. (我用hibernate连接到MysqL数据库)

解决方法

I get this error or my JSP page every day (…)

我要推测一下,但是如果每天早晨发生这种情况(即在一个不活动的夜晚之后),那么这可能与MysqL默认关闭8小时之后的空闲连接(wait_timeout)有关.

如果是这样的话:

>配置tomcat以在数据源配置中使用validationQuery来测试借用的连接:

<parameter>
  <name>validationQuery</name>
  <value>select 1</value>
</parameter>

>通过my.cnf / my.ini增加MysqL的wait_timeout,或通过与命令行sql客户端连接并输入SET GLOBAL wait_timeout = 86400或其他合适的秒数.

我不知道第二个选项的所有后果,并没有真正推荐它,至少没有得到更多的MysqL专家的反馈.

猜你在找的Java相关文章