Hibernate / fuga de conexión c3p0

Estamos ejecutando una aplicación spring / hibernate / c3p0 bajo carga. Cuando reduzco el c3p0 maxPoolSize a un número mucho, mucho más bajo que el número de usuarios simultáneos, nuestra aplicación simplemente se bloquea. No hay mensajes de error en el registro, pero tampoco avanza.

Espero que la aplicación se ralentice, pero no se detenga por completo.

Aquí está nuestra configuración c3p0:

<bean id="coreDataSource" 
          class="com.mchange.v2.c3p0.ComboPooledDataSource"
          destroy-method="close"
          p:driverClass="${core.jdbc.driver}"
          p:jdbcUrl="${core.jdbc.url}"
          p:user="${core.jdbc.user}"
          p:acquireIncrement="5"        
          p:acquireRetryAttempts="10"
          p:acquireRetryDelay="5000"
          p:initialPoolSize="52"
          p:maxIdleTime="3600"
          p:maxIdleTimeExcessConnections="300"
          p:minPoolSize="52"
          p:maxPoolSize="125"
          p:numHelperThreads="6"
          p:unreturnedConnectionTimeout="0">
          <property name="password">
              <bean class="com.docfinity.util.encryption.SpringStringDecrypter"
                  p:decryptFlag="${core.jdbc.decryptPasswordFlag}"
                  p:encryptedString="${core.jdbc.password}" />
          </property>
    </bean>

Esto se bloqueará si le lanzo 160 usuarios.

Intenté establecer unTuroutTonneout no retornado en algo positivo (120 segundos), y miré los rastros de la pila que aparecen en nuestra aplicación. Los rastros de la pila provienen de varios métodos diferentes en nuestra aplicación. No es que haya un método al que podamos señalar y decir que están perdiendo conexiones.

Cualquier ayuda para depurar este problema sería muy apreciada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta