Бины EJB3 и временные таблицы
От: yanich  
Дата: 31.05.07 13:41
Оценка:
Доброго времени суток...

Есть такая проблема:
Существует несколько временных таблиц в БД Oracle (временных в смысле GLOBAL TEMPORARY TABLE)
Необходимо как-то научиться работать с ними в бинах EJB 3 (Stateless, а скорее всего в Statefull). Как это сделать пока не представляю — насколько я понимаю сессия оракла, уничтожается вместе с закрытием объекта Connection Java, но вель этот коннект управляется контейнером. Замечу также что работа со временными таблицами идет продолжительное время и при этом необходимо много раз вызывать методы бина. Сумбурно конечно написал ... Но может подскажете как лучше поступить ?
Re: Бины EJB3 и временные таблицы
От: C0s Россия  
Дата: 31.05.07 13:58
Оценка:
Здравствуйте, yanich, Вы писали:

Y>Необходимо как-то научиться работать с ними в бинах EJB 3 (Stateless, а скорее всего в Statefull). Как это сделать пока не представляю — насколько я понимаю сессия оракла, уничтожается вместе с закрытием объекта Connection Java, но вель этот коннект управляется контейнером. Замечу также что работа со временными таблицами идет продолжительное время и при этом необходимо много раз вызывать методы бина. Сумбурно конечно написал ... Но может подскажете как лучше поступить ?


теоретически, надо смотреть в сторону SFSB BMT, чтобы гарантировать, что на протяжении одной большой транзакции общение будет идти через одно и то же соединение
с точки зрения дизайна, конечно, странновато видеть, что ресурсы будут использоваться в режиме, близком к dedicated

если не делать в одной транзакции, то каждый раз аппсервер тебе может подсовывать разные connection (то новые свежесозданные, то от других сессий)

и, всё равно, останется доп. аспект: после завершения транзакции из-за реюза коннектов в пуле коннект останется живым, врем.таблицы, видимо, тоже останутся жить.
Re[2]: Бины EJB3 и временные таблицы
От: yanich  
Дата: 01.06.07 05:20
Оценка:
Я тоже рассматриваю вариант одной большой транзакции, но вот вопрос — разве при пассивейте коннект к базе сохраняется ?
Re[3]: Бины EJB3 и временные таблицы
От: C0s Россия  
Дата: 01.06.07 07:15
Оценка:
Здравствуйте, yanich, Вы писали:

Y>Я тоже рассматриваю вариант одной большой транзакции, но вот вопрос — разве при пассивейте коннект к базе сохраняется ?


коннект возвращается в пул и может там прожить ещё какое-то время, обычно регулируемое параметром пула
в любом случае, обычно у пула также есть параметр типа "минимальный размер", и столько коннектов (открытых) в нём поддерживается всегда

в-общем, проблема не в технических аспектах, платформа, наоборот, поощряет продумывать способы решения на коротких транзакциях, потом временные данные лучше иметь на клиенте, который в данный момент времени участвует в "длинной" транзакции... в-общем, попробуй объяснить (хотя бы себе), почему временные таблицы будут лучше
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.