![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ochnev |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Работает сайт на сервлетах и использованием Hibernate.
Раз в пару дней при открытии любой страницы появляется ошибка, org.hibernate.exception.JDBCConnectionException:
Ещё в некоторых случаях появляется такое сообщение (ниже в списке exception'ов):
Почему постоянно рвётся соединение с базой данных? Что с этим делать? Перезапускать Tomcat по cron'у - в принципе можно, но это не дело. Раньше очень похожая проблема была, понадобилось приделать connection pool, вроде стало работать нормально, но всех проблем это не решило. Вот фрагмент hibernate.cfg.xml (у меня вообще правильно connection pool настроен?):
Возможно, дело не только в конфигах, но и в том, как я вообще использую Hibernate API. Наверное, я тут ещё напишу ещё об этом. Заранее благодарен за подсказки. Это сообщение отредактировал(а) ochnev - 24.3.2008, 14:29 |
||||||
|
|||||||
Llucas |
|
|||
![]() J2EE Developer ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 29.11.2006 Где: Одесса Репутация: нет Всего: нет |
Может по тайм-ауту у тебя заканчивается сессия...
|
|||
|
||||
nogoody |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 12.9.2007 Где: Смоленск Репутация: нет Всего: нет |
У меня такая же проблема... вроде бы надо ковыряться с настройками пула c3p0... но сам эту проблему не решил.. если найдешь ответ отпишись плиз
|
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
не знаю поможет ли, но посмотрите вот эту статью: Open Session in View
|
|||
|
||||
koba |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 11.6.2008 Репутация: 1 Всего: 2 |
Вот решение: Hibernate broken pipe
|
|||
|
||||
ochnev |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Кажись работает. Сейчас сделал как в рецепте, локально запустил сайт, подождал час, перегрузил страницу, - не упало. Вот тот волшебный кусок с параметрами, которые я когда-то почему-то не увидел в доках:
Кто ещё это решение пробовал, - у всех всё нормально? |
||||
|
|||||
ochnev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Только что опять увидел эту ненавистную ошибку.
Сайт после применения предложенного рецепта долго работал нормально, ошибки не возникало, а сейчас опять. Надёжного решения не существует? |
|||
|
||||
skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 2 Всего: 7 |
У меня такая проблема была. Может даже еще пост старый сохранился. Решение мне помогло следующее - перешел на DBCP.
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
может проблема в волшебных пузырьках?
может стоит увеличить время ожидания соединения в базе? или радикально уменьшить время пинга в хибернате? -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
ochnev |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Как это делается в MySQL? Я сейчас просмотрел my.ini, не нашёл ничего похожего на такую натсройку. Какой параметр туда добавить надо? Добавлено через 4 минуты и 10 секунд
Помню, была здесь такая тема, я её читал. Но ведь Hibernate 3-й не работает с DBCP. Там соответствующий ConnectionProvider (если я правильно помню) в дистрибутов Hibernate не включён, а сторонняя поделка имеет столько глюков, что использование её вообще не рекомендуется. |
||||
|
|||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
немножечко погуглив нашел: http://dev.mysql.com/doc/refman/5.0/en/con...properties.html -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
ochnev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Я стал сильно подозревать, что дело в особенностях конфигурации системы.
Дома я проверил предложенный рецепт, локально под Windows XP всё работает. Ещё на одном сервере под Windows 2003 Server немного попробовал - вроде тоже всё нормально. А под Linux у меня стоит DirectAdmin (на боевом сервере), и он как-то хитро-сложно вмешивается в работу всей системы. Смутно помню, вроде я не мог остановить mysqld из шелла, а только средствами DirectAdmin. В общем, у меня подозрения, что DirectAdmin что-то делает с mysqld, и тот рвёт соединения и восстанавливать их не хочет. Думаю, что теперь делать. Может быть, workaround какой-нибудь сделать, - отлавливать org.hibernate.exception.JDBCConnectionException и программно восстанавливать соединение (осталось разобраться как это сделать)? Это сообщение отредактировал(а) ochnev - 25.6.2008, 09:26 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |