一个项目使用了druid作为数据源,每过几十分钟刷新页面就会出现 java.net.SocketException: 断开的管道 (Write failed) 错误。

后来给连接池配置部分加上了

<property name="validationQuery" value="select 1"/><property name="testOnBorrow" value="true"/>

问题得到了解决,应该是长时间没有刷新页面导致数据库连接断开了,再次访问的时候使用了断开的数据库连接,所以出现报错,加入了

testOnBorrow 属性对数据库连接的有效性进行了验证,集群某实例宕掉时,如果连接刚好不处于通信阶段,tcp连接正处于CLOSE_WAIT状态或已关闭,当应用通过连接池getConnection时,在borrow时会检测连接,由于连接已关闭,于是报了如下报错,并重新建立新连接,此时的新连接到集群的其他实例上了。后面能正常通信。
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3143)at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:597)... 21 more

转载于:https://www.cnblogs.com/wolf-zt/p/6522219.html

java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...相关推荐

  1. ssh登录一段时间后断开的解决方案

    ssh登录一段时间后断开的解决方案 参考文章: (1)ssh登录一段时间后断开的解决方案 (2)https://www.cnblogs.com/zhanzq/p/11102869.html 备忘一下.

  2. java每隔一段时间执行_8.Android中,每隔一段时间执行某一个任务(Timer)

    1,在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和 TimerTask. Tim ...

  3. 解决mac下ssh空闲一段时间自动断开的问题

    解决mac下ssh空闲一段时间自动断开的问题 参考文章: (1)解决mac下ssh空闲一段时间自动断开的问题 (2)https://www.cnblogs.com/maoaji/p/7820287.h ...

  4. java内存溢出让tomcat停止_java - 使用JVM Open J9一段时间后,应用程序(tomcat)停止响应 - 堆栈内存溢出...

    我正在使用Open J9,一段时间后我的应用程序停止响应..在生产中发生了2个小时后,在本地设法使用JMeter进行模拟. 应用程序(tomcat)只是停止响应,我需要重新启动才能将其取回. 问题是日 ...

  5. Java 实现 Springboot 定时任务(每隔一段时间自动执行一次)

    Java实现非Web项目的Springboot定时任务(每3秒自动执行一次) 前言 一.新建Java Springboot项目 二.示例代码 运行效果 总结 前言 运行非Web的Springboot项 ...

  6. java 通过 qqwry.dat 解析ip所在地区,qqwry最好隔一段时间更换一个最新的文件

    IPEntry.java package com.jk.utils.readDat;/** * * 一条IP范围记录,不仅包括国家和区域,也包括起始IP和结束IP * */ public class ...

  7. JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。

    编写程序实现如下功能:一个线程进行如下运算12+23+34+--+1920,而另一个线程则每隔一段时间读取前一个线程的运算结果. class Count{private int sum;Count(i ...

  8. Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: 断开的管道 (Write faile

    Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: 断开的管道 (Write faile ...

  9. 在hive的beeline下,Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: Bro

    Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: Brok en pipe (Writ ...

最新文章

  1. 展望:模型驱动的深度学习
  2. Android Websites
  3. 实验4 [BX]和loop指令
  4. 多写写 leetcode 43. 字符串相乘
  5. 【VS Code】vue.js ESLint + vscode 代码格式配置
  6. 取消java相关网络协议_java相关网络协议可以关掉吗
  7. BundleFusion代码框架讲解
  8. js html 拼接,JavaScript concat() 方法
  9. JavaWeb应用项目部署到云ubuntu
  10. 软件技术架构:通过限流与熔断,打造一个“靠谱”的系统
  11. 进销存系统的通用模型
  12. js基础——图片切换实例(函数传参)
  13. 番茄学习--番茄工具推荐
  14. Vue过滤器:第二天
  15. Linux下wait_for_completion引起的开机定屏
  16. 【转载】抽象语法树简介(有图)
  17. 简单来说,我们常听到的 22nm、14nm、10nm 究竟是什么意思?
  18. 【教程】十天学会ASP及ASP.NET(初学者)
  19. Kotlin学习(七):函数
  20. ​官宣 | Cobo 金库正式支持 Conflux

热门文章

  1. Fragment生命周期详解
  2. 游戏程序员的学习资料
  3. 在linux下配置oracle的远程访问
  4. window.showModalDialog用法介绍
  5. 这个ERP的冬天好冷啊!
  6. is_uploaded_file
  7. Windows 市场份额十年来首次跌破 90%
  8. 一张图解释Linux的目录结构
  9. CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制
  10. mysql function 与 procedure