• 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"
     />

    使用ALTER SYSTEM KILL SESSION终止一个会话。下面的例句sid 7,serial# 15:
        ALTER SYSTEM KILL SESSION '7,15';

  • 相关阅读:
    【Gamma】Scrum Meeting 1
    【Gamma】设计与计划
    第五次作业 5.线性回归算法
    第四次作业 4.K均值算法--应用
    第三次作业 3.K均值算法
    第二次作业 2.机器学习相关数学基础
    第一次作业 机器学习概述
    第十五次 语法制导的语义翻译
    第十四次作业 算符优先分析
    第十三次作业 自下而上语法分析
  • 原文地址:https://www.cnblogs.com/jifeng/p/4738077.html
Copyright © 2020-2023  润新知