Communications link failure due to underlying exception的解决
发布时间:2016-11-28 作者: 点击:1889
应用经常碰到如下错误:
org.apache.jasper.JasperException: javax.servlet.ServletException: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Broken pipe STACKTRACE: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) at java.net.SocketOutputStream.write(SocketOutputStream.java:159) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
基本上早晨第一次访问系统时发生的多,经了解mysql数据库默认情况下会在连接一直不使用的情况下自动断开连接,造成应用侧连接再次使用时连接已经不可用。
既然知道了原因,解决就不成问题了,解决方法有两个:
1、在java端,每次使用连接前都进行测试,这个不同的连接池会有不同的设置,这里就不一一介绍了。
2、设置mysql的断开时间,让他超过我们长时间不用的时间,例如设置为48小时。
mysql 设置如下:(编辑etc/my.cnf)
wait_timeout = 172800
interactive-timeout = 172800
更多关于 java,mysql 的信息
- java.lang.IllegalArgumentException: java.security.InvalidKeyException: Illegal key size(2023-12-15)
- java SimpleDateFormat处理英文3位字母月份时的注意事项(2019-11-27)
- IE浏览器javascript new date NAN bug的解决(2016-04-27)
- 清理java项目中多余的jar包(2016-03-10)
- 安卓下java连接串口进行客显控制的方法(2016-02-02)
- 在阿里云linux 15.1 64位系统编译安装mysql 5.7.10(2016-01-30)
- 卸载aliyun linux 15预装的java运行环境openjdk 1.6(2016-01-30)
- vb.net调用java axis2生成的soap webservices(2015-04-03)
- java及tomcat使用http正向代理的几种方法(2015-03-08)
- vb.net中实现java字符串的hashcode(2015-01-17)
本站部分文章转载于网上,版权归原作者所有。如果侵犯您的权益,请Email和本站联系!