Tomcat 数据源恢复

Tomcat Datasource Recovery

我想设置我的 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" />

谢谢 达米恩

我认为只需 validationQuery 和您已经使用的 validationQueryTimeout 就可以完成这项工作。

这是tomcat检查数据库健康度最准确的方法 与池对象关联的连接。

或者您可以使用 validatorClassName

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

在此处查看所有选项:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html