Le temps de connexion de problèmes après la période d'inactivité du

Nous avons une api qui utilise hibernate comme outil ORM et nous utilisons c3p0 que le pool de connexion gestionnaire. Nous n'avons pas de problèmes quand on est sous la charge. Cependant, nous sommes en cours d'exécution dans l'impossibilité d'obtenir une connexion" exceptions lorsque l'api a été inactif pendant un jour ou deux. Donc, si pas de corps utilise l'api sur le week-end, nous obtenons des erreurs de connexion, le lundi matin.

Causés par: java.sql.SQLException: Une tentative de la part d'un client à la caisse d'une Connexion a expiré.

Nous utilisons mysql comme base de données. Sur mes recherches, j'ai appris à connaître que mySQL rend les connexions obsolètes au bout de 8 heures environ. Il pourrait être possible que le pool de connexions est de donner un état de la connexion au client et, partant, le délai de connexion des exceptions pour le client.

À l'heure actuelle, nous n'avons pas de test de la connexion configurée dans C3Po. Disons que, si j'utilise IdleTestPeriod pour tester la connexion avant qu'ils soient remis au client par la piscine. Puis ce qui se passe si toutes mes connexions échouent à l'épreuve lors d'un point de temps? Ces connexions échouées être retirés de la piscine et de nouvelles connexions actives être généré à nouveau?

Actuellement, c'est le c3p0 paramètres que nous utilisons. Toutes les autres raisons possibles pour ce problème?

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${ ---- }"/>
        <property name="jdbcUrl" value="${ ---- }"/>
        <property name="user" value="${ ---- }"/>
        <property name="password" value="${ ------ }"/>
        <property name="minPoolSize" value="5"/>
        <property name="acquireIncrement" value="5" />
        <property name="maxPoolSize" value="125" />
        <property name="maxStatements" value="10" />
        <property name="maxIdleTime" value="180" />
        <property name="maxIdleTimeExcessConnections" value="30" />
        <property name="checkoutTimeout" value="3000" />
        <property name="preferredTestQuery" value="SELECT 1" />
    </bean>
InformationsquelleAutor Npa | 2012-07-31