Mysql
 sql >> база данни >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Не са разрешени операции след затваряне на връзката

Както @swanliu посочи, това се дължи на лоша връзка.
Въпреки това, преди да коригирам времето на сървъра и времето за изчакване на клиента, първо бих опитал да използвам по-добра стратегия за обединяване на връзки.

Пул на връзки

Самият Hibernate признава, че неговата стратегия за обединяване на връзки е минимална

Аз лично използвам C3P0 . има обаче други налични алтернативи, включително DBCP .
Разгледайте

По-долу е дадена минимална конфигурация на C3P0, използвана в моето приложение:

<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 --> 

Редактиране:
Актуализирах конфигурационния файл (Справка ), тъй като току-що копирах и поставих този за моя проект по-рано. Времето за изчакване би трябвало в идеалния случай да реши проблема, ако това не работи за вас, има скъпо решение което мисля, че бихте могли да разгледате:

Създайте файл „c3p0.properties“, който трябва да бъде в основата на пътя към класа (т.е. няма начин да го замените за определени части от приложението). (Справка )

# c3p0.properties
c3p0.testConnectionOnCheckout=true

С тази конфигурация всяка връзка се тества преди да бъде използвана. Това обаче може да повлияе на производителността на сайта.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Къде са разликите при използване на XML и MySQL база данни? Кое да използвам?

  2. php pdo получава само една стойност от mysql; стойност, равна на променлива

  3. Защо в това ОБЯСНЕНИЕ не се използват ключове?

  4. PHP float/double се съхранява като MySQL DECIMAL

  5. С MySQL, как мога да генерирам колона, съдържаща индекса на записа в таблица?