Il tuo pool di connessioni DBCP è scaduto, utilizza la configurazione seguente...
La soluzione semplice consiste nel fare in modo che DBCP verifichi le connessioni prima di fornirle al chiamante. Aggiungi le seguenti proprietà alla configurazione di BasicDataSource:
<property name="testOnBorrow" value="true"/>
<property name="validationQuery" value="SELECT 1"/>
Per un elenco di tutte le opzioni, vedere qui:http://commons.apache.org/dbcp/ configurazione.html
EDIT:per una leggera correzione in ciò che sta accadendo, vedere il commento di MJB di seguito.