Как я могу предотвратить создание Hibernate + c3p0 + MySql большого количества спящих соединений?
Я использую GWT с Hibernate, c3p0 и MySQL для создания веб-приложения с ограниченной аудиторией (максимум 50 пользователей в день). Во время тестирования я обнаружил, что Hibernate открывает соединение с каждым сеансом, но не закрывает его, независимо от использованияclose()
метод.
Моя текущая конфигурация выглядит следующим образом:
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
При каждом новом подключении к приложению создается новый пул. Например, если я установил размер пула 3, 2 подключения к приложению приведут к 6 подключениям, пока приложение не будет закрыто.
Предполагаемое поведение - просто закрывать или повторно использовать соединения после каждой транзакции. Как мне этого добиться?