powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по обнулению.
5 сообщений из 5, страница 1 из 1
Вопрос по обнулению.
    #32251239
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сервлет.
Код:
Создаем объект.
Connection conn = ....;

Вопрос в следующем:
Если я в конце напишу
conn = null;
Я потеряю объект ?

И не идентична ли эта запись conn.close();
????

Заранее благодарен за ответ.
...
Рейтинг: 0 / 0
Вопрос по обнулению.
    #32251366
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глубоко убеждён, что НЕ ИДЕНТИЧНО.
Тут надо принимать во внимание следующее:
1) Вы открыли соединение - на стороне БД какие-то ресурсу задействованы. close() заставляет принудительно их освободить.
2) Сборщик мусора реально Бог знает когда данные вычистит. И есть риск нарваться на что-то вроде превышения кол-ва открытых курсоров, соединений.

При закрытии Statement-а и соединения предпочитаю использовать такой шаблон:

try {
} catch (SQLExcetion ex) {
// Работа с БД
} finally {
if ( connection != null) {
try {
connection.close();
} catch (Exception ex){}
}

И ещё. Операция открытия/закрытия соединия для БД довольно дорогая. В сервлетах лучше использовать DataSource для получения соединения к БД. Контейнер сам будет думать как организовать повторную используемость соединений и как создать их пул.
...
Рейтинг: 0 / 0
Вопрос по обнулению.
    #32252225
2 stdio

А я полагал, что пул соединений самому надо организовывать...

Самое элегантное решение пула нашёл на сайте IBM:
A simple connection pool class
(Example 5)

Маленький недостаток - размер пула постоянный.
...
Рейтинг: 0 / 0
Вопрос по обнулению.
    #32442376
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как раз разбираюсь с ConnectionPool
испробовал пару примеров, как с исп. ораклового класса oracle.jdbc.pool.OracleConnectionCacheImpl , так и самостоятельно организуя через хеш-таблицу.
Так то работает, только есть одна проблема, что делать если после организации пула я перестартовываю БД ( или делаю их там alter system kill session ). Пул соединений при этом попрежнему продолжает держать объекты и идут ошибки.
...
Рейтинг: 0 / 0
Вопрос по обнулению.
    #32444389
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Естественно не одно и тоже ( .close() и =null)
2. Почему нет желания использовать реализацию ConnectionPool встренную в веб сервер?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по обнулению.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]