![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| hamsterKSU |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 3 Всего: 11 |
Привет.
JDBC driver - JTurbo. Servlet container - Tomcat 4.1 Есть проблема с тем что после истечения некоторого времени - суток или большего количества времени или сбоев в SQL Server при попытке выполнить запрос к бызе вылетает исключение
У нас есть самописный пул конекшенов. конекшены открываються при его создании и собственно не закрываються до выключения сервера. каждый раз когда происходить попытка получения конекшена(не открытия, а имеено получения из пула) я пытаюсь провалидировать конекшен
но метод отрабатываеть постоянно нормально, даже если после вывалиться эксепшен. т.е. фактически он не работает. Нашел еше вот такой интересный метод в интерфейсе Connection - isValid попытался его заюзать но получил
может ли кто подсказать как провалидировать конекшен или может стоит отказаться от самописного пула и заюзать какойно стандартый? |
||||||
|
|||||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 14 Всего: 104 |
А валидировать запросом?
-------------------- Lost.... |
|||
|
||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: нет Всего: 4 |
Раз уж вы под томкатом, вот это должно подойти как альтернатива самописному пулу:
http://commons.apache.org/dbcp/ |
|||
|
||||
| necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
различных пулов более десятка. проблема в том что эти пулы не всегда могут корректно ответить на вопрос а жив ли конекшин, так как иной раз он закрывается не со стороны Java, а со стороны БД.
select 1 - забавное решение =) может и поможет =) ЗЫ некоторые пулы предоставляют возможность валидации конекшена. Я лично использую c3p0 <property name="c3p0.idle_test_period">100</property> <property name="c3p0.timeout">100</property> в хибернате есть еще вот такое: <property name="connection.autoReconnect">true</property> <property name="connection.autoReconnectForPools">true</property> <property name="connection.is-connection-validation-required">true</property> Так же можно посоветовать переодически переоткрывать в пуле не задействованные долго конекшены, выставив таймаут к примеру =) -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
| hamsterKSU |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 3 Всего: 11 |
сори что не отвечал так долго.
но чегото select 1 не помогает. |
|||
|
||||
![]()
|
| Правила форума "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. |