Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не закрываются PSEUDO-соединения. java.sql.Connection 
:(
    Опции темы
m@kxus
  Дата 21.11.2003, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 20.2.2003
Где: Estonia

Репутация: нет
Всего: 2



Очерёдность действий:

1. Создаю java.sql.Connection
2. Внутри него делаю CallableStatement (prepareCall) для обращения к базе Oracle9i.
3. Делаю execute();
4. Так как всё это дело стоит в try{}catch{}final{}, то как раз в final{} стоит ещё один try{}catch{}, который пробует закрыть CallableStatement, то есть close()

Таким образом, я могу видеть, что у меня обычно при работе сервлета имеется 3-4 физических соединяния с базой и плюс ко всему огромная куча псевдо-соединений. По идее, метод CallableStatement.close(); должен их закрыть, но почему то этого не происходит. То есть, close() отрабатывает без ошибок (проверял), но соединения остаются. В итоге, после 10-15 минут работы, выскакивает Exception по поводу отсутсвия свободных соединений (ORA-00018: maximum number of sessions exceeded) и сервлет падает. Поставил в некоторых местах System.gc(); - немного помогло. Но, полагаться на GarbageCollector - последнее дело. Кто чем может помочь в данной ситуации?
PM MAIL WWW ICQ AOL YIM MSN   Вверх
AntonSaburov
Дата 21.11.2003, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Была какая-то проблема с самим Ораклом - он не всегда корректно закрывал коннекты. Так что может тут твой программа не при чем.

А не закрывается, как я понял, только если происходит ошибка при выполнении оператора SQL ? Или просто так может не закрыться ?
PM MAIL WWW ICQ   Вверх
m@kxus
Дата 22.11.2003, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 20.2.2003
Где: Estonia

Репутация: нет
Всего: 2



В том то и дело, что не закрывается в любом случае - будь то корректный SQL или неверный.
Кстати, "была проблема" - это значит, что она решена? Как?
PM MAIL WWW ICQ AOL YIM MSN   Вверх
AntonSaburov
Дата 24.11.2003, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
"была проблема" - это значит, что она решена? Как?


Я не вдавался в подробности - было что-то о новой версии Оракла и вот там якобы это решено. Но насколько новая версия - не могу сказать. Может даже 10-ка.
PM MAIL WWW ICQ   Вверх
m@kxus
Дата 25.11.2003, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 20.2.2003
Где: Estonia

Репутация: нет
Всего: 2



Ну что же, буду пока что System.gc() пользовать. В ближайшее время на 10ку переходить у нас не собираются...
PM MAIL WWW ICQ AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2959 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.