hujh20 发表于 2018-12-4 08:18:03

解决tomcat: Software caused connection abort: recv failed-struts2上传

  报错:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
  ** BEGIN NESTED EXCEPTION **
  java.net.SocketException
  MESSAGE: Software caused connection abort: recv failed
  STACKTRACE:
  java.net.SocketException: Software caused connection abort: recv failed
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.read(Unknown Source)
  at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
  at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
  at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
  at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1953)
  解决
  1. 打开Mysql的安装路径,进入文件夹MySQL Server 5.1,找到文件my.ini(windows) 或 /etc/my.cnf 并打开,在文件最末尾添加:
  interactive_timeout=288000
  2. 重启mysql服务
  3. 重启tomcat (为了保险我重启了,没试过不重启行不行,按道理不重启也行)
  ok 没有了。等吧,到周日了, 问题不发生了。
  原因:
  这个异常是由于连接池的连接没有被释放,而MySQL默认的空闲等待时间是8个小时,也就是28800秒,一旦空闲超过8个小时,就会抛出异常。在my.ini文件末尾添加interactive_timeout=288000,实际上是将MySQL默认的空闲等待时间设置为80小时,这样暂时就没问题了。
  但是真有一次就是80多小时的空闲时间呢?不怕,改成315360000, 也就是10年。。。

页: [1]
查看完整版本: 解决tomcat: Software caused connection abort: recv failed-struts2上传