参考文章:
原因:数据库down掉了,或者网络断了,连接connection无效,未验证,抛出此异常。 当数据库连接因为某种原因断掉(有可能时网络问题,导致App Server跑了一天后,第二天再跑马上爆错误),再从Connection Pool中获取连接而又不做Validate,这时候取得的Connection实际上已经是无效的了,从而导致程序一跑,马上爆Connect Reset错误。
在Tomcat的Server.xml中添加 _testOnBorrow,_testOnReturn,_testWhileIdle,并且都设置为true,同时 validationQuery添加验证语句可避免“Connection Reset”error。
原因:数据库down掉了,或者网络断了,连接connection无效,未验证,抛出此异常。 当数据库连接因为某种原因断掉(有可能时网络问题,导致App Server跑了一天后,第二天再跑马上爆错误),再从Connection Pool中获取连接而又不做Validate,这时候取得的Connection实际上已经是无效的了,从而导致程序一跑,马上爆Connect Reset错误。
在Tomcat的Server.xml中添加 _testOnBorrow,_testOnReturn,_testWhileIdle,并且都设置为true,同时 validationQuery添加验证语句可避免“Connection Reset”error。
<Resource name="lda/raw"
type="javax.sql.DataSource"
password="lda_master"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="30" minIdle="2" maxWait="60000" maxActive="1000"
testOnBorrow="true" testWhileIdle="true" validationQuery="select 1 from dual"
username="lda_master" url="jdbc:oracle:thin:@192.160.100.107:15537:lcststd"/>
type="javax.sql.DataSource"
password="lda_master"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="30" minIdle="2" maxWait="60000" maxActive="1000"
testOnBorrow="true" testWhileIdle="true" validationQuery="select 1 from dual"
username="lda_master" url="jdbc:oracle:thin:@192.160.100.107:15537:lcststd"/>
本文详细阐述了在遇到数据库连接失败导致的'ConnectionReset'错误时的排查与解决步骤,通过配置Tomcat Server.xml文件中的相关参数,实现数据库连接的有效验证,避免连接失效导致的程序异常。
2742

被折叠的 条评论
为什么被折叠?



