Su grupo de conexiones DBCP está agotando el tiempo de espera, use la configuración a continuación...
La solución simple es hacer que DBCP verifique las conexiones antes de dárselas a la persona que llama. Agregue las siguientes propiedades a su configuración de BasicDataSource:
<property name="testOnBorrow" value="true"/>
<property name="validationQuery" value="SELECT 1"/>
Para obtener una lista de todas las opciones, consulte aquí:http://commons.apache.org/dbcp/ configuración.html
EDITAR:para una ligera corrección de lo que está sucediendo, consulte el comentario de MJB a continuación.