转自:http://blog.sina.com.cn/s/blog_1549fb0710102whz2.html

  spring+ibatis程序测试时报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error;

    sql-map-config.xml配置:

      <transactionManager type="JDBC" >
        <dataSource type="DBCP">
          <property value="${drivers}" name="JDBC.Driver" />
          <property value="${url}" name="JDBC.ConnectionURL" />
          <property value="${user}" name="JDBC.Username" />
          <property value="${password}" name="JDBC.Password" />
          <property value="${maxActive}" name="Pool.MaximumActiveConnections" />
          <property value="${maxIdle}" name="Pool.MaximumIdleConnections" />
          <property value="${maxWait}" name="Pool.MaximumWait" />
<property name="validationQuery" value="select * from dual"/>
        </dataSource>
      </transactionManager>  

    该问题主要是由于连接时间过长,失效所致,将sql-map-config.xml中的“dataSource”配置修改如下:

      <transactionManager type="JDBC" > 
        <dataSource type="DBCP">
          <property value="${drivers}" name="JDBC.Driver" />
          <property value="${url}" name="JDBC.ConnectionURL" />
          <property value="${user}" name="JDBC.Username" />
          <property value="${password}" name="JDBC.Password" />
          <property value="${maxActive}" name="Pool.MaximumActiveConnections" />
          <property value="${maxIdle}" name="Pool.MaximumIdleConnections" />
          <property value="${maxWait}" name="Pool.MaximumWait" />
          <property name="validationQuery" value="select * from dual"/>
        </dataSource>
      </transactionManager>

    当数据库连接池中的连接被创建而长时间不使用的情况下,该连接会自动回收并失效,但客户端并不知道,在进行数据库操作时仍然使用的是无效的数据库连接,这样,就导致客户端程序报“ java.sql.SQLException: Io 异常: Connection reset by    peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常,加上

          <property name="validationQuery" value="select * from dual"/>

配置后,客户端在使用一个无效的连接时会先对该连接进行测试,如果发现该连接已经无效,则重新从连接池获取有效数据库连接来使用。

  

spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常的更多相关文章

  1. jmeter测试文件上传接口报错:connection reset by peer: socket write error

    最近在对文件上传接口性能测试时,设置150线程数并发时,总会出现以下错误:connection reset by peer: socket write error 在网上搜索了一下,得到的原因有这些: ...

  2. java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)

    报错: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Meth ...

  3. 再见:org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer

    这个问题我之前遇见多次了,今天又遇见了 2019-03-22 16:33:27.555 WebMvcConfigurer.java:144 ERROR - 接口 [/appservice/7za.ex ...

  4. Java socket 说明 以及web 出现java.net.SocketException:(Connection reset或者Connectreset by peer:Socket write error)的解释

    另外http://www.cnblogs.com/fengmk2/archive/2007/01/15/using-Socket.html可供参考   一Java socket 说明 所谓socket ...

  5. debug运行java程序报错

    debug运行java程序报错 ERROR: transport error 202: connect failed: Connection timed out ERROR: JDWP Transpo ...

  6. 【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface

    后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate ...

  7. spring boot启动STS 运行报错 java.lang.NoClassDefFoundError: ch/qos/logback/classic/LoggerContext

    spring boot启动STS 运行报错 java.lang.NoClassDefFoundError: ch/qos/logback/classic/LoggerContext 学习了: http ...

  8. eclipse下执行maprdeuc程序报错 java.lang.ClassNotFoundException

    最近遇到一个问题,不知怎么突然运行hadoop的map程序报错,困扰了我很久,现在来给大家分享分享.. 错误信息 2017-05-18 21:34:22,104 INFO [main] client. ...

  9. Window7中Eclipse运行MapReduce程序报错的问题

    按照文档:http://www.micmiu.com/bigdata/hadoop/hadoop2x-eclipse-mapreduce-demo/安装配置好Eclipse后,运行WordCount程 ...

随机推荐

  1. hdu 1559 最大子矩阵(DP)

    题目链接:点击链接 #include<stdio.h> #include<string.h> #define max(a,b) a>b?a:b int d[1005][1 ...

  2. VS2012下基于Glut OpenGL glScissor示例程序:

    剪裁测试用于限制绘制区域.我们可以指定一个矩形的剪裁窗口,当启用剪裁测试后,只有在这个窗口之内的像素才能被绘制,其它像素则会被丢弃.换句话说,无论怎么绘制,剪裁窗口以外的像素将不会被修改.有的朋友可能 ...

  3. java中的String类常量池详解

    test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[ ...

  4. mybatis中updateByPrimaryKeySelective

    mybatis中updateByPrimaryKeySelective等选择性操作在判断时对于VARCHAR类型需要同时判断非空和非空串 <if test="description ! ...

  5. YC(Y Combinator)斯坦福大学《如何创业》课程要点记录(粗糙)

    20节课程,每节都是干货满满,时常听说理论无用,但是好的理论,绝对能帮助你少走一些弯路. YC简介: Y Combinator成立于2005年,是美国著名创业孵化器,Y Combinator扶持初创企 ...

  6. eclipse安装svn插件的多种方式

    方法一:在线安装 1.打开HELP->MyEclipse Configuration Center.切换到SoftWare标签页. 2.点击Add Site 打开对话框,在对话框Name输入Sv ...

  7. SmoOne——开源免费的企业移动OA应用,基于VS.Net

    一.SmoOne是什么一个开源的移动OA应用 二.语言.Net 三.开发环境Visual Studio 四.开发平台Smobiler Designer 五.功能该应用开源代码中包含注册.登录.用户信息 ...

  8. tabindex属性

    1. tabindex的用法: 可以设置tab键在控件中的移动顺序. 以下元素支持tabindex属性:<a> <input> <textarea> <are ...

  9. PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

    课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较 ...

  10. JDK安装(CentOS/rpm方式)

    1. 用如下命令检验是否已经自带了OpenJDK java -version 如果打印如下,则表示安装了OpenJDK java version "1.6.0" OpenJDK R ...