Druid接続プールのtestQuery/validationQuery
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<property name="maxWait" value="60000" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 1 FROM DUAL" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="filters" value="stat" />
bean>
druidの推奨構成は次のとおりです.
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
validationQueryは、少なくとも1つのデータを返すSELECT文である必要があるデータベース接続を検証するためのクエリー文です.各データベースには、それぞれの検証文があります.
testOnBorrowとtestOnReturnは生産環境では一般的に開かれず、主に性能の考慮である.無効な接続は主にtestWhileIdleによって保証され、使用できないデータベース接続が取得された場合、通常はアプリケーションによって例外が処理されます.