java.sql.SQLException:Io异常:Connectionreset
当数据库连接池中的连接被创建⽽长时间不使⽤的情况下,该连接会⾃动回收并失效,但客户端并不知道,在进⾏数据库操作时仍然使⽤的是⽆效的数据库连接,这样,就导致客户端程序报“ java.sql.SQLException: Io 异常: Connection reset” 或“java.sql.SQLException 关闭的连接”异常。
在配置数据源后⾯加上
<property name="validationQuery" value="select * from dual"/>
配置后,客户端在使⽤⼀个⽆效的连接时会先对该连接进⾏测试,如果发现该连接已经⽆效,则重新从连接池获取有效数据库连接来使⽤。
在tomcat的l⾥⾯设置数据源时候可参考:
<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"jdbc连接oracle
minIdle="2"
removeAbandonedTimeout="5"
testOnBorrow="true"
testWhileIdle="true"
testOnReturn="true"
removeAbandoned="true"
logAbandoned="true"
validationQuery="select 1 from dual"
/>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。