com.alibaba.druid.pool.DruidDataSource或org.apache.commons.dbcp.BasicDataSource连接池:
自动重连配置 :
1、testWhileIdle配置:
<property name="validationQuery" value="SELECT 1" /><property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
2、testOnBorrow配置:
<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="false" />
其中testOnBorrow只会发现当前连接失效,再创建一个连接供当前查询使用,而testWhileIdle会定时校验numTestsPerEvictionRun个连接,只要发现连接失效,就将其移除再重新创建。另外,之所以没有将两个合并,是因为如果将以上属性全部为True,则速度会变得很慢,影响效率。