sql >> Database teknologi >  >> RDS >> Mysql

Databaseforbindelse til MySQL timeout, selv efter indstilling c3p0.testConnectionOnCheckout=true

Vi begyndte at have det samme "Communications Link"-problem, da vi opgraderede dvaletilstand til 4.3.x ved hjælp af JPA og C3P0 til forbindelsespooling.

Det ser ud til, at dette ville være et forbindelsespuljeproblem, da forbindelserne blev holdt længere end databasen wait_timeout (som var standard 8 timer) på trods af mine C3P0 indstillinger. Jeg fik dog løst problemet ved at ændre dvale-konfigurationen i vores persistence.xml med:

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

Det ser ud til, at standardadfærden i dvale er ændret til ikke at frigive forbindelsen efter transaktioner, så du skal udtrykkeligt indstille denne tilstand, hvis du bruger pooling.



  1. Brug af MySQL's IF EXISTS

  2. SQLiteDatabase android IllegalStateException

  3. Find rækker med flere duplikerede felter med Active Record, Rails &Postgres

  4. Korrekt måde at bruge LIKE '%{$var}%' med forberedte udsagn? [mysqli]