Wie kann ich verhindern, dass Hibernate + c3p0 + MySql eine große Anzahl von Schlafverbindungen erstellt?
Ich verwende GWT mit Hibernate, c3p0 und MySQL, um eine Web-App mit einer begrenzten Zielgruppe zu erstellen (maximal 50 Benutzer pro Tag). Beim Testen stellte ich fest, dass Hibernate bei jeder Sitzung eine Verbindung öffnet, aber nicht schließt, unabhängig von der Verwendung desclose()
Methode
Meine aktuelle Konfiguration lautet wie folgt:
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=
hibernate.connection.username=
hibernate.connection.password=
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.current_session_context_class=thread
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=1
hibernate.c3p0.timeout=10
hibernate.c3p0.max_statements=50
hibernate.c3p0.idle_test_period=10
hibernate.c3p0.unreturned_connection_timeout=1
hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
Mit jeder neuen Verbindung zur Anwendung wird ein neuer Pool erstellt. Wenn ich zum Beispiel die Poolgröße auf 3 setze, ergeben 2 Verbindungen zur Anwendung 6 Verbindungen, bis die Anwendung geschlossen wird.
Das beabsichtigte Verhalten besteht darin, die Verbindungen nach jeder Transaktion einfach zu schließen oder wieder zu verwenden. Wie kann ich das erreichen?