Você pode usar o Apache DBCP, que deve ser um substituto para algo assim:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxActive" value="10"/>
<property name="minIdle" value="5"/>
<!-- SELECT 1 is a simple query that returns 1 row in MySQL -->
<property name="validationQuery" value="SELECT 1"/>
</bean>
algumas coisas a notar
- você pode configurar o número máximo de conexões.
- você pode configurar o número mínimo de conexões inativas.
- uma consulta que será executada para validar a conexão ainda é válida.
Existem outras opções para configurar quando a validação acontece.