powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / org.firebirdsql.jdbc.FBSQLException: Result set is already closed
25 сообщений из 65, страница 2 из 3
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230015
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczто есть же SQL в JSTL
Во! Точно!)
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230019
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczResultSet не место в Session. Разве только если использовать какой-нибудь WebRowSet, отсоединенный от базы
так он и отсоединен от базы...
сейчас попробую открыть страницу одним пользователем...
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230027
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinтак он и отсоединен от базы...
while (dsd.rs.next()) {
dsd нельзя в сессию. Т.к. всё что у него внутри до 5-го колена должно быть потокобезопасно....даже умершее и отсоединённое.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230034
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinтак он и отсоединен от базы...

Какое самоуверенное заявление. И где же в коде отсоединение ResultSet от базы?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230040
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczwolverinтак он и отсоединен от базы...

Какое самоуверенное заявление. И где же в коде отсоединение ResultSet от базы?
dsd.Disconnect();

похоже да, если в рамках одной сессии попытаться открыть одну и ту же страницу, то возникает конфликт
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230047
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverindsd.Disconnect();

Дык после этого нельзя читать ResultSet. Это не "отсоединение" данных. Это закрытие соединения вообще.
Под "отсоединением" я имел ввиду вычитку данных в куда-либо, которое можно использовать без соединения с БД и безопасно поместить в сессию.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230053
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczwolverindsd.Disconnect();

Дык после этого нельзя читать ResultSet. Это не "отсоединение" данных. Это закрытие соединения вообще.
Под "отсоединением" я имел ввиду вычитку данных в куда-либо, которое можно использовать без соединения с БД и безопасно поместить в сессию.
да там только на отображение и все, по моему вроде как шаблон и получается.
мне и не нужно читать ResultSet после закрытия, в следующий раз оно создастся по новой

надо как то защититься от попытки открыть одну и ту же страницу одновременно в одной сессии...
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230056
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinнадо как то защититься от попытки открыть одну и ту же страницу одновременно в одной сессии...
Пользователь имеет право сделать Alt+Enter.
Потом тебе по башке даст.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230065
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinда там только на отображение и все, по моему вроде как шаблон и получается.

Самоуверенности вам не занимать. Ну, если не интересует критика, то умываю руки. Удачи тому несчастному кому придется править этот код.

wolverinмне и не нужно читать ResultSet после закрытия, в следующий раз оно создастся по новой

Удаляйте его из Session, сразу как получили, перед тем как использовать. Это сведет шанс на шаринг к минимуму.

wolverinнадо как то защититься от попытки открыть одну и ту же страницу одновременно в одной сессии...
Ну, да, ну да. И кнопку back задизэйблить. Чтобы не повадно было. И вообще стоять у юзера за спиной и чуть что - линейкой по рукам, чтобы не нажимал куда не нужно.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230074
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
я всегда за критику с любовью )
просто не вижу почему не шаблон - просто рисую jsp напрямую из RS и потом больше нигде никак не обрабатываю
удалять то можно, но это опять каждый раз логины-пароли-параметры-курсора/транзакции где то искать и по новой все в том же JSP инициализировать как в вашем примере по JSTL

от виндовых приложений осталось разумение что пока окно рисуется в однопоточном, то другие запросы не обрабатываются (
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230081
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinот виндовых приложений осталось разумение что пока окно рисуется в однопоточном, то другие запросы не обрабатываются (
))) из далека пришёл в веб вестимо.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230176
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin,
а восьмую java отменили?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230245
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

использую что есть на сервере
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230247
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче я так понял надо просто еще одни класс с потомками оформить, чтобы отделить свойства от методов с объектами и все должно стать в ажуре уже передавая в сессию объекты со свойствами подключения.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230287
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinсо свойствами подключения.
какими? Логин, pass что ли?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230456
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123wolverinсо свойствами подключения.
какими? Логин, pass что ли?
логин, пароль, параметры курсора, параметры транзакции, выбранная база при авторизации
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230514
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ok
- перепиши на JSTL, alt+enter для 2х объектов в одной сессии и проверь свой баг.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230582
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ok
- перепиши на JSTL, alt+enter для 2х объектов в одной сессии и проверь свой баг.
проблема еще и в том, что этот самый объект я вообще везде использую и закрытие резалсета может вообще происходить в сервелете, а вываливаться в ошибку уже по логике работы в этом жсп )
а теги ну только я вижу что меньше песанины в самом жсп

хорошо, но вот сервелет, в котором я проинициализирую глобальную переменную резалсет класса потокабезопасно или класс инициализируется единожды и методы post и get будут работать с одним резалсетом?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230608
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin,
ну там же всё просто.
Вы отличаете новый экземпляр объекта от "взяди на него ссылку"?
- JSP и сервлеты работают в потоках. Java с некоторой версии отказалась от поддержки потокобезопасности. "Программист сам должен". Раньше был флаг для этого в API
- т.е. либо на каждый поток - свой коннект (область видимости - страничка),
- либо один коннект на сессию и нельзя раньше прибивать
- либо пул (попользовал и вернул).
Что тут сложного?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230610
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinэтот самый объект я вообще везде использую и закрытие резалсета может вообще происходить в сервелете
т.е. вы по функционалу написали Пул ?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230617
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wolverin,
основная ошибка вот тут: 19138826
Остальное - неизбежные следствия, которые будут преследовать это приложение.
Лучше всего не пытаться отловить хвосты, а начать с начала, используя композицию. Датасет, включающий в себя транзакцию, резалтсет, а также и все методы для получения данных из базы - безусловное зло.
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230624
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraДатасет, включающий в себя транзакцию, резалтсет, а также и все методы для получения данных из базы - безусловное зло.
только, сам Датасет - зло, это перебор).
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230635
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

так все таки сервелет при обращении к нему создается каждый раз или происходит только обращение к методам?
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230643
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123т.е. вы по функционалу написали Пул ?
нет, чтобы не писать каждый раз параметры соединения таскал его везде вместе с методами
сейчас параметры в отдельный объект, а датасет создаю и освобождаю в рамках страницы, но по сервелету вопрос остался
...
Рейтинг: 0 / 0
org.firebirdsql.jdbc.FBSQLException: Result set is already closed
    #39230651
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinPetro123,
так все таки сервелет при обращении к нему создается каждый раз или происходит только обращение к методам?
обычный сервлет?
- у меня в одном проекте на init я беру из web.xml пароль, логин, ...
- потом
Код: java
1.
2.
3.
protected void doGet(HttpServletRequest request,...........
...
conn = DriverManager.getConnection(SCONN, DB_USER, DB_PASS);
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / org.firebirdsql.jdbc.FBSQLException: Result set is already closed
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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