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

Hvordan kan jeg forhindre, at Hibernate + c3p0 + MySql skaber et stort antal sovende forbindelser?

Når du bruger en forbindelsespulje, kalder du Connection#close() lukker ikke fysisk forbindelsen, men returnerer den til poolen til fremtidig genbrug. Med andre ord forbliver forbindelsen åben, og det er hele pointen med at bruge en pool.

Nå, det er problemet. Du opretter en SessionFactory igen og igen (hver opretter sin egen pool), mens du bør oprette den kun én gang i hele din ansøgnings levetid. Hvis du ikke bruger nogen bestemt ramme, gøres dette typisk i en eller anden hjælpeklasse (den berømte HibernateUtil klasse).

Den officielle Dvalevejledning har et meget grundlæggende eksempel på sådan en klasse. Eller se denne hvilket er en smule rigere.



  1. Gemmer ændringer efter tabelredigering i SQL Server Management Studio

  2. MySQL tilføjer en IKKE NULL kolonne

  3. Spark JoinWithCassandraTable på TimeStamp-partitionsnøglen STIGT

  4. Installer MySQL med ansible på ubuntu