参考文章:
原因:数据库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"/>