No se pudo abrir la sesión de Hibernate para la transacción en el primer inicio de sesión

Tengo una aplicación Spring Mvc operativa completa que se ejecuta con Spring Security, pero aparece el siguiente error cada vez que el servidor no ha estado activo durante un tiempo y alguien intenta iniciar sesión:

HTTP Status 500: error en el procesamiento de la solicitud; la excepción anidada es org.springframework.transaction.CannotCreateTransactionException: no se pudo abrir la sesión de Hibernate para la transacción; la excepción anidada es org.hibernate.TransactionException: la transacción de inicio de JDBC ha fallado

A veces después (aproximadamente 5 segundos después) comienza a funcionar normalmente.

Busqué y encontré este enlace:http://forum.spring.io/forum/spring-projects/data/13298-could-not-open-hibernate-session-for-transaction-jdbc-begin-failed pero no sé cómo "configurar las pruebas de conexión en la configuración del grupo de conexiones".

¿Algún consejo?

EDITAR:

Encontré el siguiente enlace para establecer el grupo de configuración:

http://www.codingpedia.org/ama/tomcat-jdbc-connection-pool-configuration-for-production-and-development/

así que intenté implementarlo en mi fuente de datos:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">

        <property name="driverClassName" value="com.mysql.jdbc.Driver" />

        <property name="url" value="jdbc:mysql://192.168.254.45:3306/7jogos" />
        <property name="password" value="..." />
        <property name="username" value="..." />


<!--      Configuration pool -->
        <property name="validationQuery" value="SELECT 1" />
        <property name="validationInterval" value="34000" />
        <property name="testOnBorrow" value="true" />
        <property name="removeAbandoned" value="true" />
        <property name="removeAbandonedTimeout" value="55" />


    </bean>

Pero termino recibiendo un error en validationInterval diciendo:

Se encontraron varias anotaciones en esta línea: - No se encontró un setter para la propiedad 'validationInterval' en la clase 'org.apache.commons.dbcp.BasicDataSource'

Respuestas a la pregunta(3)

Su respuesta a la pregunta