Tomcat закрывает соединение после месяца бездействия - как избежать? - PullRequest
1 голос
/ 06 января 2011

У меня есть приложение Flex / Java / MySQL / Hibernate, работающее на tomcat / BlazeDS, которое имеет очень НИЗКУЮ активность, пользователь может даже не посещать его в течение нескольких месяцев.

Проблема в том, что после месяца бездействиясоединения между tomcat и mysql закрыты, а затем мне нужно перезапустить серверы mysql и tomcat, есть ли способ избежать этого и поддерживать соединение всегда открытым?

Ответы [ 3 ]

2 голосов
/ 06 января 2011

MySQL закрывает неактивные соединения через некоторое время.Hibernate в конфигурации по умолчанию не будет повторно подключаться.Воспользуйтесь приведенным здесь советом, чтобы включить автоматическое переподключение:

http://www.databasesandlife.com/automatic-reconnect-from-hibernate-to-mysql/

1 голос
/ 06 января 2011

Я не знаю, можно ли остановить соединение, и я не совсем уверен, что это хорошая идея. Вы можете настроить и использовать пул соединений на Tomcat , который будет автоматически переподключаться при запросе ресурса. Некоторые пулы соединений также будут проводить периодическое тестирование активных соединений, если вы настроите определенный минимум, чтобы убедиться, что база данных все еще реагирует.

0 голосов
/ 06 января 2011

Почему бы вам просто не поставить проверку в коде, чтобы увидеть, закрыто ли соединение, и если это так, открыть его заново?

Или используйте пул соединений, я думаю, что это будет выполнено для вас автоматически. c3p0, bonecp, proxool, dbcp

...