I'd like to get some advice on how to configure
tomcat 7 connection pool to deal with empty pool issue when database restarts.
With my current configuration (see below), the connection pool contains no connection after a database is restarted, as previous connections are all invalidated. Ideally, the connection pool should create new connections according to the description of property "minidle" in
doc, but that is not happening (of course new connection will be created upon application request). Is this acceptable behavior of a connection pool? How is everyone dealing with this situation? Thanks!
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>
jdbc:mysql://mydbserver:3306/mydb</value></property>
<property name="username"><value>user</value></property>
<property name="password"><value>password</value></property>
<property name="initialSize"><value>10</value></property>
<property name="maxActive"><value>100</value></property>
<property name="maxIdle"><value>20</value></property>
<property name="minIdle"><value>10</value></property>
<property name="testWhileIdle"><value>true</value></property>
<property name="timeBetweenEvictionRunsMillis"><value>300000</value></property>
<property name="testOnBorrow"><value>true</value></property>
<property name="validationQuery"><value>SELECT 1</value></property>
<property name="defaultAutoCommit"><value>true</value></property>
<property name="jmxEnabled"><value>false</value></property>
</bean>