powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SQL Connection + try(autoclosable)
8 сообщений из 8, страница 1 из 1
SQL Connection + try(autoclosable)
    #39305642
freeVan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Мне нужно получить данные из базы,
потом следует "тяжелая операция" с данными..
Я хочу использовать автоматическое закрытие ресурсов,
но вот в чем вопрос:
"тяжелую" операцию следует делать после блока "try", чтоб как можно быстрее освободить соединение?
тогда нужно вынести ResultSet за блок "try" - но тогда будет ли вызван метод "close" автоматически?
В общем помогите разобраться при условии что "autoClosable" останется..
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305653
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeVanчтоб как можно быстрее освободить соединение?
Это сложный вопрос.
Если соединение нужно и ты с ним работаешь (закрытие опер.дня бухгалтерии), то зачем его закрывать?
Есть длинные транзакции и десктопы, где соединения по 8 часов рабочего времени открыты.
Суть в том чтобы не забыть его закрыть. А не в быстроте.
С другой стороны, если это веб, то быстрее закроется HTTP соединение от Ослика.
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305660
freeVan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

надо выбрать данные и после работать только с ними,
соединение из пула, нужно его освободить как можно быстрее..

есть некоторое непонимание механизма:
ResultSet закрывается когда Statement, Statement когда Connection..
как мне лучше вынести данные за блок "try":
- в виде ResultSet, но тогда непонятно, он же должен закрыться вместе со Statement;
- или ?
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeVanнадо выбрать данные и после работать только с ними,
- что значит выбрать? Такой термин у домохозяек. Вы объект Result будете вызывать? Вот на последней строке и нужно закрыть самому или автоматом.

freeVanсоединение из пула, нужно его освободить как можно быстрее..
разные проекты есть. Это общее правило - после 6-ти всех выгнать с работы домой и опечатать комнаты.
Однако некоторым надо работать.
Например пул на 500 соединений в корпоративе из 300 юзверей.
freeVanесть некоторое непонимание механизма:
потрать пол дня и закрой всё руками без AutoClose. А завтра утром всё будет понятно. Рекомендую.
Это то же самое что никто не делает Obj.Free() - есть сборщик мусора.
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305676
freeVan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

чето очень сложна..

перефразирую:
забыть про базу данных совсем..

блок трай с ресурсами ОК?

в блоке трай извлекаются данные для посдедущей очень тяжелой операции с ними.
ВОПРОС:
Как выполнить тяжелую операцию с данными при этом вне блока трай?
Похоже я уже сам нашел ответ, пока писал пост ))).
Думаю надо вынести поля для данных за блок трай..
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305680
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeVanДумаю надо вынести поля для данных за блок трай..
если есть возможность скопировать данные из ResultSet в переменную вне try, то ДА!
))
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305886
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeVanPetro123,

надо выбрать данные и после работать только с ними,
соединение из пула, нужно его освободить как можно быстрее..

есть некоторое непонимание механизма:
ResultSet закрывается когда Statement, Statement когда Connection..
как мне лучше вынести данные за блок "try":
- в виде ResultSet, но тогда непонятно, он же должен закрыться вместе со Statement;
- или ?
Как только вы закроете Connection, вы потеряете свой Resultset. Если вы хотите это сделать надо записи из Recordset предварительно "переложить" в какую-нибудь Java коллекцию. Посмотрите на какой-нибудь Apache Commons DbUtils или Spring JDBC - они так делают.
...
Рейтинг: 0 / 0
SQL Connection + try(autoclosable)
    #39305888
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeVanДумаю надо вынести поля для данных за блок трай.
если кода много при переносе, тогда лучше не закрывайте и не переносите за блок. Вам решать.
Это уже бизнес логика.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / SQL Connection + try(autoclosable)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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