sql >> Database >  >> RDS >> Mysql

Databaseverbinding met MySQL verloopt zelfs na het instellen van c3p0.testConnectionOnCheckout=true

We kregen hetzelfde probleem met de "Communicatielink" toen we de slaapstand opwaardeerden naar 4.3.x met behulp van JPA en C3P0 voor pooling van verbindingen.

Het lijkt erop dat dit een probleem met de verbindingspool zou zijn, aangezien verbindingen langer werden bewaard dan de database wait_timeout (wat de standaard 8 uur was) ondanks mijn C3P0-instellingen. Ik heb het probleem echter opgelost door de slaapstandconfiguratie in onze persistence.xml . te wijzigen met:

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

Het lijkt erop dat het standaardgedrag in de slaapstand is gewijzigd om de verbinding niet vrij te geven na transacties, dus je moet deze modus expliciet instellen als je pooling gebruikt.



  1. Proactieve SQL Server Health Checks, Deel 1:Schijfruimte

  2. Afbeeldingsgegevens laden in BLOB-kolommen in Oracle

  3. Converteer maandnaam naar maandnummer in PostgreSQL

  4. Oracle gelijk aan MySQL INVOEGEN NEGEREN?