Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeitüberschreitung der Datenbankverbindung zu MySQL, selbst nach dem Setzen von c3p0.testConnectionOnCheckout=true

Wir hatten das gleiche „Communications Link“-Problem, als wir den Ruhezustand auf 4.3.x mit JPA und C3P0 für das Verbindungspooling aktualisierten.

Es scheint, als wäre dies ein Verbindungspoolproblem, da Verbindungen länger als die Datenbank wait_timeout aufrechterhalten wurden (das waren die voreingestellten 8 Stunden) trotz meiner C3P0-Einstellungen. Ich habe das Problem jedoch behoben, indem ich die Konfiguration des Ruhezustands in unserer persistence.xml geändert habe mit:

<property name="hibernate.connection.release_mode" value="after_transaction" />

Es scheint, dass sich das Standardverhalten im Ruhezustand dahingehend geändert hat, dass die Verbindung nach Transaktionen nicht freigegeben wird, also müssen Sie diesen Modus explizit einstellen, wenn Sie Pooling verwenden.