Votre pool de connexion DBCP expire, utilisez la configuration ci-dessous...
Une solution simple consiste à faire en sorte que DBCP vérifie les connexions avant de les donner à l'appelant. Ajoutez les propriétés suivantes à votre configuration BasicDataSource :
<property name="testOnBorrow" value="true"/>
<property name="validationQuery" value="SELECT 1"/>
Pour une liste de toutes les options, voir ici :http://commons.apache.org/dbcp/ configuration.html
EDIT :Pour une légère correction de ce qui se passe, voir le commentaire de MJB ci-dessous.