我想设置我的 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
。
注意:您可能希望使用较低的值:validationInterval
、validationQueryTimeout
,以便更快地从断开的连接中恢复。
在此处查看所有选项:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
关于Tomcat 数据源恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053740/