![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 9 Всего: 39 |
Собственно, сейчас я при выбросе exception закрываю только Connection, а ResultSet и Statement не закрываю. Правильно ли это?
|
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Думаю, нет. А с чем связано это решение? -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
А разве реализация Connection в соответствующем JDBC не должна закрывать сама все свои ResultSet'ы и Statement'ы в своем close()'е...
|
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Пускай так, но я считаю, это всегда стоит делать самому. Как минимум, тогда я подстрахуюсь от багов в реализации JDBC-драйвера. Кроме того, это подстрахует от возможных ошибок в будущем, когда кто-нибудь отредактирует твой код и постарается использовать connection еще раз. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Lamer George
Согласен. Особенно актуально для соедниения, которое живет долго и на котором последовательно выполняется много разных запросов. Спокойнее закрывать все прямо на местах. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Скорее это должна делать СУБД, при завершении сесси освобождать все ресурсы занятые сессией. Хотя у меня был случай когда драйвер был неправильно реализован, и в результате чего использование PreparedStatement стало невозможным, т.к. он не закрывал открытые курсоры, пока не будет закрыто само PreparedStatement. Правда пообщавшись со службой техподдержки, нам таки исправили драйвер. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
Вот только недавно столкнулся...... дело было вечером...... случайно con.close() прописал(ResultSet и т.п. не закрыл), а после этого пытался вытащить данные из ResultSet. Отругался конкретно на уже закрытый ResultSet.
Но согласен с Lamer George'ом потому как уже встречал плохие JDBC-дрова -------------------- менеджер по кодеврайтингу |
|||
|
||||
| UnicornMirage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 15.11.2005 Репутация: 1 Всего: 1 |
а если используется пул соединений то метод close просто помещает Connection в пул а ResultSet-ы остаются незакрытыми
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
UnicornMirage
Думаю, что правильно реализованный пул должен понимать такие вещи. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
По моему, пул следит за этим. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |