Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Połączenie bazy danych z MySQL wygasa nawet po ustawieniu c3p0.testConnectionOnCheckout=true

Ten sam problem z „Łączem komunikacyjnym” zaczął się pojawiać, gdy zaktualizowaliśmy hibernację do wersji 4.3.x przy użyciu JPA i C3P0 do puli połączeń.

Wygląda na to, że byłby to problem z pulą połączeń, ponieważ połączenia były utrzymywane dłużej niż baza danych wait_timeout (co było domyślnym 8 godzinami) pomimo moich ustawień C3P0. Jednak rozwiązałem ten problem, zmieniając konfigurację hibernacji w naszym persistence.xml z:

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

Wygląda na to, że domyślne zachowanie w hibernacji zostało zmienione, aby nie zwalniać połączenia po transakcjach, więc musisz jawnie ustawić ten tryb, jeśli używasz buforowania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zaktualizuj, jeśli istnieją dwa pola, wstaw, jeśli nie (MySQL)

  2. Porównanie liczb całkowitych MySQL ignoruje końcowe znaki alfa

  3. MySql — czy klucz podstawowy jest domyślnie unikalny?

  4. Jak wyświetlić obraz z bazy danych w CodeIgniterze?

  5. Dołącz do dwóch tabel MySQL za pomocą PHP