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

aplikacja java, wątek zawiesza się po zabiciu połączenia MySQL

Według MySQL dokumentacja "zabij połączenie thread_id" powinno zakończyć połączenie skojarzone z podanym thread_id. Ale wygląda na to, że tak się nie dzieje (w takim przypadku wątek Javy będzie czekał na odpowiedź w nieskończoność). Być może możesz sprawdzić, czy połączenie jest rzeczywiście zamknięte, używając jakiegoś narzędzia sieciowego (np. netstat).

Zetknąłem się już z zawieszaniem się połączeń MySQL i musiałem użyć socketTimeout Parametr połączenia JDBC (ale uważaj:socketTimeout musi być większy niż czas potrzebny na wykonanie najdłużej działającego zapytania). Możesz również spróbować użyć Limit czasu zapytania za przygotowane oświadczenie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć MySQL z programem Java

  2. Jak mogę zobaczyć/zmienić ustawienia limitu czasu połączenia MySQL?

  3. Doctrine 2 i tabela łączy wiele do wielu z dodatkowym polem

  4. Odniesienie do zapytania zewnętrznego w podzapytaniu JOIN

  5. (2006, „Serwer MySQL zniknął”) w WSGI django