sql >> Databáze >  >> RDS >> Mysql

Jak mohu zabránit Hibernate + c3p0 + MySql ve vytváření velkého počtu spících připojení?

Při použití fondu připojení volání Connection#close() fyzicky neuzavře připojení, ale vrátí jej do fondu pro budoucí opětovné použití. Jinými slovy, připojení zůstane otevřené a to je celý smysl použití fondu.

No to je ten problém. Vytváříte SessionFactory znovu a znovu (každý vytváří svůj vlastní fond), přičemž byste jej měli vytvořit pouze jednou po dobu životnosti vaší aplikace. Pokud nepoužíváte žádný konkrétní rámec, obvykle se to provádí v nějaké třídě obslužných programů (slavný HibernateUtil třída).

Oficiální Výukový program Hibernate má velmi základní příklad takové třídy. Nebo se podívejte na toto který je o něco bohatší.



  1. Jak resetuji pořadová čísla, aby se stala po sobě jdoucí?

  2. Databáze vrátila neplatnou hodnotu v QuerySet.dates()

  3. MYSQL - Vložit, pokud je tabulka prázdná

  4. Mountain Lion Postgres se nemohl připojit