org.springframework.dao.DataAccessResourceFailureException Io 异常: tConnection reset


  1、DHCP连接池:当Server释放连接,浏览器无法检测到,当再次访问时,连接不会重新生成

       配置文件

datasource.validationQuery=select 1 from dual
datasource.testOnBorrow=true
datasource.testWhileIdle=true


//当连接释放时,重新获取连接
<property name="validationQuery" value="${datasource.validationQuery}"/>   
  <property name="testOnBorrow" value="${datasource.testOnBorrow}"></property>
        <property name="testWhileIdle" value="${datasource.testWhileIdle}"></property>

 

    MySQL的默认wait-timeout是8小时,8小时后自动关闭闲置链接

    使用Hibernate: 
    <property name="connection.autoReconnect">true</property>  
    <property name="connection.autoReconnectForPools">true</property> 
    <property name="connection.is-connection-validation-required">true</property> 
 
    提示SAX解析失败:
    <prop key="connection.autoReconnect">true</prop>
     <prop key="connection.autoReconnectForPools">true</prop> 
     <prop key="connection.is-connection-validation-required">true</prop> 
 
     未使用hibernate等持久化管理框架,可在mysql的url中加入autoReconnect=true
     autoReconnect:      当数据库连接异常中断时,是否自动重新连接
     failOverReadOnly:   自动重连成功后,连接是否设置为只读?

    对应中文环境,通常mysql连接URL可以设置为:

    jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false

    在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:

    jdbc:mysql://localhost:3306/test?user=root&amp;password=&amp;useUnicode=true&amp;characterEncoding=gbk

    &amp;autoReconnect=true&amp;failOverReadOnly=false


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM