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

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:żadne operacje nie są dozwolone po zamknięciu połączenia

Jak zauważył @swanliu, jest to spowodowane złym połączeniem.
Jednak przed dostosowaniem czasu serwera i limitu czasu klienta najpierw spróbowałbym użyć lepszej strategii łączenia połączeń.

Zespół połączeń

Sam Hibernate przyznaje, że jej strategia łączenia połączeń jest minimalna

Osobiście używam C3P0 . jednak dostępne są inne alternatywy, w tym DBCP .
Sprawdź

Poniżej znajduje się minimalna konfiguracja C3P0 używana w mojej aplikacji:

<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.acquire_increment">1</property> 
<property name="c3p0.idle_test_period">100</property> <!-- seconds --> 
<property name="c3p0.max_size">100</property> 
<property name="c3p0.max_statements">0</property> 
<property name="c3p0.min_size">10</property> 
<property name="c3p0.timeout">1800</property> <!-- seconds --> 

Edytuj:
Zaktualizowałem plik konfiguracyjny (Informacje ), ponieważ właśnie skopiowałem i wkleiłem ten do mojego projektu wcześniej. Limit czasu powinien idealnie rozwiązać problem. Jeśli to nie zadziała, istnieje drogie rozwiązanie na które mógłbyś rzucić okiem:

Utwórz plik „c3p0.properties”, który musi znajdować się w katalogu głównym ścieżki klasy (tzn. nie ma możliwości nadpisania go dla poszczególnych części aplikacji). (Informacje )

# c3p0.properties
c3p0.testConnectionOnCheckout=true

W tej konfiguracji każde połączenie jest testowane przed użyciem. Może to jednak wpłynąć na wydajność witryny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń wszystkie procedury składowane w MySQL lub użyj tymczasowych procedur składowanych

  2. Jak wykonać kopię zapasową pojedynczej tabeli w bazie danych MySQL?

  3. Różnica między kodowaniem a sortowaniem?

  4. Problemy z porównywaniem liczb zmiennoprzecinkowych MySQL

  5. Jak dodawać komentarze do tabeli lub kolumny w mysql za pomocą SQLAlchemy?