我每天都会收到这个错误或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数据库)
发布于 2010-07-23 05:53:46
JSP我每天都会收到这个错误或者
页面(...)
我要推测一下,如果这发生在每天早上(例如,在一夜不活动之后),那么这可能与MySQL在默认情况下在8小时后关闭空闲连接( wait_timeout)有关。
如果是这种情况,请执行以下任一操作:
validationQuery将tomcat配置为在借用时测试连接:validationQuery通过my.cnf/my.ini选择1
wait_timeout,或者通过连接命令行SQL客户端并输入SET GLOBAL wait_timeout=86400,或其他合适的秒数。我没有意识到第二种选择的所有后果,也不真正推荐它,至少在没有从MySQL专家那里获得更多反馈的情况下是这样。
发布于 2010-07-22 14:39:09
看起来您(部分地)松开了与数据库的连接。MySQL尝试发送某些内容,但连接丢失。
另一位报告了类似问题的mysql/tomcat用户,被建议使用连接池,如c3p0。用户回答说,他想首先使用mysqls reference manual中描述的Mysql/tomcat连接池。
https://stackoverflow.com/questions/3306244
复制相似问题