我想设置我的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" />
由于 达明
答案 0 :(得分:1)
我认为只有validationQuery
和validationQueryTimeout
以及您已经使用过的validatorClassName
才能完成这项工作。
这是tomcat检查数据库运行状况的最准确方法 与池对象关联的连接。
或者,您可以使用validationInterval
。
注意:您可能希望使用较低的值:validationQueryTimeout
,{{1}},以便从断开的连接中更快地恢复。
请在此处查看所有选项:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html