Я использую 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 подключениям, пока приложение не будет закрыто.
Предполагаемое поведение состоит в том, чтобы просто закрывать или повторно использовать соединения после каждой транзакции. Как я могу этого добиться?