zoukankan      html  css  js  c++  java
  • java.sql.SQLException: Io 异常: Connection reset

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

    在配置数据源后面加上

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


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

    在tomcat的context.xml里面设置数据源时候可参考:

     <Resource auth="Container"
      driverClassName="oracle.jdbc.OracleDriver"
      type="javax.sql.DataSource"
      url="jdbc:oracle:thin:@11.11.11.45:1521:orcl"
      name="jdbc/login"
      username="login"
      password="login"
      maxActive="15"
      maxIdle="10"
      maxWait="-1"
      minIdle="2"
      removeAbandonedTimeout="5"
      testOnBorrow="true"
      testWhileIdle="true"
      testOnReturn="true"
      removeAbandoned="true"
      logAbandoned="true"
      validationQuery="select 1 from dual"
     /> 
     
     <Resource auth="Container"
      driverClassName="oracle.jdbc.OracleDriver"
      type="javax.sql.DataSource"
      url="jdbc:oracle:thin:@11.11.11.44:1521:orcl"
      name="jdbc/intraweb"
      username="intraweb"
      password="intraweb"
      maxActive="15"
      maxIdle="10"
      maxWait="-1"
      minIdle="2"
      removeAbandonedTimeout="5"
      testOnBorrow="true"
      testWhileIdle="true"
      testOnReturn="true"
      removeAbandoned="true"
      logAbandoned="true"
      validationQuery="select 1 from dual"
     />

  • 相关阅读:
    前端页面获取各类页面尺寸及坐标尺寸总结
    禁止微信内置浏览器调整字体大小
    区分浏览器,判断浏览器版本
    JavaScript
    ASP.NET MVC,Entity Framework 及 Code First
    循序渐进MongoDB V3.4(Ubuntu)
    Webpack
    RequireJS Step by Step
    JavaScript Object 及相关操作
    ES6 Promises
  • 原文地址:https://www.cnblogs.com/younes/p/2529483.html
Copyright © 2011-2022 走看看