Tomcat数据源恢复

Tomcat数据源恢复,tomcat,datasource,Tomcat,Datasource,我想设置我的tomcat数据源,以便它们在数据库关闭和恢复时恢复连接。 我在工作中测试这个有困难(繁文缛节等) 有人知道tomcat中的以下数据源设置是否会自行恢复吗 <add:Resource auth="Container" driverClassName="oracle.jdbc.OracleDriver" initialSize="5" logAbandoned="false" maxActive="100" maxWait="180000" minEvictableIdleTim

我想设置我的tomcat数据源,以便它们在数据库关闭和恢复时恢复连接。 我在工作中测试这个有困难(繁文缛节等)

有人知道tomcat中的以下数据源设置是否会自行恢复吗

<add:Resource auth="Container"
driverClassName="oracle.jdbc.OracleDriver"
initialSize="5"
logAbandoned="false"
maxActive="100"
maxWait="180000"
minEvictableIdleTimeMillis="240000"
minIdle="5"
name="jdbc/myDB"
password="${myDB.password}"
url="${myDB.url}"
username="${myDB.username}"    
removeAbandoned="true"
removeAbandonedTimeout="60"
timeBetweenEvictionRunsMillis="10000"
type="javax.sql.DataSource"
validationQuery="select 1 from dual"
validationQueryTimeout="10"
validationInterval="10000" 
testOnBorrow="true"
testWhileIdle="true"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" />

谢谢
Damien

我认为只要将
validationQuery
与您已经使用的
validationQueryTimeout
结合起来就可以了

这是tomcat检查数据库运行状况最准确的方法 与池对象关联的连接

或者,您可以使用
validatorClassName

注意:您可能希望对以下项使用较低的值:
validationInterval
validationQueryTimeout
,以便更快地从断开的连接中恢复


请参见此处的所有选项:

谢谢@Marinos_An。我考虑了validationInterval和validationQueryTimeout的较低值,但我不想对性能产生负面影响