我使用的框架是Struts2+Hibernate3+Spring,项目的后台数据库是Mysql,最近挪到正式服务器上了,处于一直打开服务的状态,就出现了java.net.SocketException: Software causedconnection abort: socket write error  这个异常。每次白天重启后能够正常访问,晚上没有人访问后,第二天早上再访问就报了这个错误。

在网上google了一下,都说是因为Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲如果超过8个小时,Mysql将自动断开该connection。这样就出现了上面这个问题。

网上的解决方法有几种:

第一种:在mysql安装目录下找到my.ini文件中添加超时限制:在该文件最后添加一行:wait_timeout=2880000。这样把之前的超时限制把8小时(28800)扩大为20天(20*24*60*60=1728000)。这样重启了mysql后,再在其中输入命令:show global variables like "wait_timeout"; ,查看超时是否已修改为:1728000。实际操作中,我修改的是C:\WINDOWS目录下的my.ini,这是我的Mysql数据库所使用的描述文件,在该文件的[mysqld]一节中,添加了wait_timeout=1728000。重启mysql后,执行上面的查询,返回的查询结果如下:

mysql> show global variables like "wait_timeout";
+---------------+-------------+
| Variable_name | Value   |
+---------------+-------------+
| wait_timeout  | 1728000 |
+---------------+-------------+
1 row in set (0.00 sec)

最后,重启tomcat,OK,服务器能正常访问。

第二种,通过c3p0的idleConnectionTestPeriod来控制:可以将它的值设定的比Mysql的默认wait_timeout小就行了。

<property name="idleConnectionTestPeriod" value="18000"/>

使用连接池可以解决这个问题,这里使用c3p0:
      修改hibernate.cfg.xml文件

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">8</property>
<property name="hibernate.c3p0.max_size">200</property>
<property name="hibernate.c3p0.timeout">600</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.idle_test_period">60</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">true</property>

转载于:https://www.cnblogs.com/iteakey/p/4109983.html

java.net.SocketException: Software caused connection abort: socket write error相关推荐

  1. java.net.SocketException: Software caused connection abort: socket write erro

    场景:接口测试 编辑器:eclipse 版本:Version: 2018-09 (4.9.0) testng版本:TestNG version 6.14.0 执行testng.xml时报错信息: 出现 ...

  2. 解决:java.net.SocketException: Software caused connection abort: recv failed

    前言:最近在学习 NIO 和netty 相关知识时,在bio的模式下,遇到了 java.net.SocketException: Software caused connection abort: r ...

  3. 异常:Software caused connection abort: socket write error

    异常:Software caused connection abort: socket write error 参考文章: (1)异常:Software caused connection abort ...

  4. Software caused connection abort: recv failed

    2019独角兽企业重金招聘Python工程师标准>>> Software caused connection abort: recv failed 博客分类: 异常 Software ...

  5. 使用Spring JDBC时遇到的Software caused connection abort: recv failed问题

    在使用Spring jdbc连接数据库时遇到一个头疼的问题:程序启动以后,如果长时间不访问调用,当再次调用时会报错: 引用 org.springframework.dao.DataAccessReso ...

  6. [MySQL]Software caused connection abort: recv failed 问题分析与解决

    原文:http://blog.csdn.net/chuan122345/article/details/4894398 在项目开发时,遇到该异常,通过搜索在mysql官方网站上发现如下说明: I am ...

  7. 关于socket write error 和Software caused connection abort: recv failed 错误

    Software caused connection abort: recv failed  错误 @Overridepublic void run() {// TODO Auto-generated ...

  8. 解决SSH连接出现 Software caused connection abort 的问题

    解决SSH连接出现 Software caused connection abort 的问题 参考文章: (1)解决SSH连接出现 Software caused connection abort 的 ...

  9. linux ssh 远程登陆 报错 software caused connection abort 解决方法

    使用远程登录工具putty或者SecureCRT连接到服务器时,长时间不操作造成网络中断,出现Software caused connection abort Software caused conn ...

最新文章

  1. 广东省卫生2021副高考试成绩查询,中国卫生人才网:广东2021卫生资格考试成绩查询入口 -中国卫生人...
  2. ESXI5.5添加本地磁盘出错的解决
  3. 无线宝服务器连接不上,无线网络连接不上怎么办 为什么无线网络连接不上
  4. 从比特大陆AI芯片入局智慧城市看阿里腾讯的城市“攻坚战”...
  5. python动态生成数据库表 orm_Python自动化 【第十二篇】:Python进阶-MySQL和ORM
  6. C/C++编程笔记:输入输出的优化,你还为思路正确却TLE而烦恼吗?
  7. 【英语】秋风吹---9月英语
  8. c语言static的用法_一文轻松掌握,单片机中C语言的数据存储与程序编写
  9. 基于guava的重试组件Guava-Retryer
  10. 新手如何制作专业的思维导图
  11. python 网格搜索_网格搜索查找AUC参数
  12. 使用Pytorch来拟合函数
  13. 三星Note3 SM-N9009 国内天翼版本安装谷歌框架
  14. php 应用截图,PHP实现网页截图?
  15. PHP微信公众平台开发高级篇--群发接口
  16. 大模型时代,视觉推理任务竟然只用语言数据也能学习
  17. Qt解决中文显示乱码问题
  18. Linux格式化sd卡博客,Linux下格式化U盘或者SD卡
  19. 查找问题方法之置之死地而后生
  20. 编程小白的人工智能路之Gabor滤波提取掌纹特征并对比掌纹相似度(一)

热门文章

  1. 下载--保存(下载)文件到本地(.doc .jpg)
  2. ES6——Promise 对象
  3. 在更新iOS14.5後,App要追踪我們會先收到彈窗提示
  4. 高级教师和一级教师最大的差异是什么?
  5. 让女生觉得坏透了的聊天方式有哪些?
  6. 映日荷花别样红是什么季节,映日荷花别样红的上一句是什么?全诗赏析
  7. 一发就会被秒赞的句子
  8. 软件测试完后,还有bug,责任全在于测试吗?
  9. Java-线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别
  10. JavaWeb项目中解决中文乱码方法