Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Хибер сессию расширить на несколько реквестов? Длинн.тразакц
Список форумов
 ->  Персистентность в Java (JPA, ORM, ODB)


На страницу 1, 2, 3  След. 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
WebPrj : 72
Новичок

СообщениеЯнв 18, 2012 9:05 
Ответить с цитатой
Собственно как использовать модель не Сессия на реквест, а сессия на сессию.
Сайт не публичный. а корпоратив, т.е. аналог десктопа на веб.
Нужно!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 18, 2012 10:19 
Ответить с цитатой
я так понял, разговоры о стирании границ Веб и Десктоп - реклама.
Разговоры о Rich ГУИ в Веб тоже реклама Sad
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеЯнв 18, 2012 12:54 
Ответить с цитатой
И на основании чего Вы это поняли?
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 18, 2012 13:23 
Ответить с цитатой
издалека заходите Smile
На основании, что весь веб работает Сессия на реквест.
А нужно минимум сессия на VIEW или Сессия на Сессию.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеЯнв 19, 2012 11:41 
Ответить с цитатой
Не нужно. Rich GUI в web совершенно не требует сессии на несколько запросов.

P.S. Граница между web и desktop не может быть стерта даже теоретически, ввиду совершенно разной модели работы пользователя.
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 20, 2012 8:24 
Ответить с цитатой
у вас первый вопрос противоречит второму.
- Я говорил "Нужно!", если не верите, могу дать ТЗ
- Именно границу трудно стереть, т.к. есть такие ТЗ - хранить состояние между реквестами.
---
ТЗ типа корзины покупателя, но _сложный объекты_
- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеЯнв 20, 2012 16:49 
Ответить с цитатой
WebPrj писал(а):
у вас первый вопрос противоречит второму.
- Я говорил "Нужно!", если не верите, могу дать ТЗ
- Именно границу трудно стереть, т.к. есть такие ТЗ - хранить состояние между реквестами.


ТЗ меня не интересует. На заборе тоже написано известно что. А за ним совсем не это, а вовсе даже стройка. Я такие ТЗ видел, что жуть берет.

Я утверждаю со всей ответственностью, что можно построить эмуляцию длинных транзакций БЕЗ растягивания сессии на несколько запросов.
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vermut : 1062
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеЯнв 20, 2012 23:06 
Ответить с цитатой
WebPrj писал(а):

- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции

Функционал нужен для ГУИ, разумно и решать его на уровне ГУИ. Проблема ломанного гроша не стоит: считал карточку работника из базы, получил из неё ДТО, всё на этом закрыл сессию и в базу уже обращаешься только если тебе нужно докачать какие-нибудь ленивые данные, а так пока пользователь не нажал кнопку сохранить пусть редактирует ДТО, когда нажмет сохранить тогда выполнишь все изменения в одной транзакции. В случае если у тебя гуй на GWT или целиком на javascript, то можно вместо HTTP сессии хранить промежуточные данные прям в браузере, то есть серверную часть можно полностью сделать stateless, доведя таким образом возможности масштабирования практически до бесконечности.

А тот кто принуждает Вас решать задачу средствами hibernate пусть пойдет и застрелиться, потому что как только появиться лоад балансинг и серверов приложений станет больше чем один, сразу возникнуть вопросы, а как эту hibernate сессию реплицировать(сериализовать) между серверами приложений Smile
_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vermut : 1062
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеЯнв 21, 2012 14:49 
Ответить с цитатой
WebPrj писал(а):
я так понял, разговоры о стирании границ Веб и Десктоп - реклама.
Разговоры о Rich ГУИ в Веб тоже реклама Sad

То есть Вы считаете что, google со своим GWT и potix со своим ZK занимаются чистой воды мистификацией на уровне Коперфилда?
_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
WebPrj : 72
Новичок

СообщениеЯнв 22, 2012 11:09 
Ответить с цитатой
Skipy писал(а):

Я утверждаю со всей ответственностью, что можно построить эмуляцию длинных транзакций БЕЗ растягивания сессии на несколько запросов.

да я не против, только не выходит каменный цветок без оверхеда.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 22, 2012 11:18 
Ответить с цитатой
Vermut писал(а):
WebPrj писал(а):

- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции

Функционал нужен для ГУИ, разумно и решать его на уровне ГУИ.

==== ГУИ тонкий клиент = не разумно решать на гуи

считал карточку работника из базы,

=== в БД нет карточки работника в виде отдельной сущности. Это составная БИЗНЕС сущность из 5-7 сущностей

получил из неё ДТО,

===== борльшинство свойств - ленивый с прокси


всё на этом закрыл сессию и в базу уже обращаешься только если тебе нужно докачать какие-нибудь ленивые данные,

===== докачка отдельными сессиями по AJAX в другой транзакции?


или целиком на javascript,

==== нет. У меня MVC, тонкий клиент. Объекты сложные.


В том то и дело, что длинные транзакции на десктопе применяют не от балды, а именно при сложных объектах.
Очень интересно, как это обойти в веб.
Доп.вопрос - как при подгрузке лази полей делать и фильтровать к ОРМ вместо БД? Если транзакциия не закрыта - кн OK он не нажимал.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vermut : 1062
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеЯнв 22, 2012 11:50 
Ответить с цитатой
Я вам очень простой но железо-бетонно работающий способ подскажу: перестаньте работать с персистентными объектами в GUI и все ваши проблемы сами собой решаться, это не реклама и не сетевой маркетинг, это действительно работает. Когда мне это самому сказали, я вначале не поверил, что еще за глупости писать лишний классы для DTO, но потом проверил оказалось, что это действительно работает. Поэтому просто напиши классы для ДТО, они даже не обязательно должны полностью совпадать с доменными классами, делай их максимально удобными для редактирования. Потом запости исходные коды в сеть и дай ссылки на них десяти своим знакомым и на эту тему то же, и пусть они сделают то же самое. И тогда проблемы длинных транзакций в вебе будут для тебя решены. Ещё есть рассово правильная книга Pojo In Action, в ней расписано на каких уровнях разрешено работать с классами сохраняемыми в базе, и на каких нужно воспользоваться ДТО.

Сейчас же вы забиваете голову вопросами, которые вообще не нужно решать, при правильной архитектуре они отсутствуют.
_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
WebPrj : 72
Новичок

СообщениеЯнв 22, 2012 12:26 
Ответить с цитатой
Vermut писал(а):
лишний классы для DTO, но потом проверил оказалось, что это действительно работает. Поэтому просто напиши классы для ДТО,

- руками писать? Это реально делать ещё одну копию Модели.
А при добавлении свойства Адрес в ГУИ я должен эти классы DTO править?
- вы не ответили. Как делать запросы и фильтры УТОЧНЯЮЩИЕ с гуи для этого DTO. Запросы на LAZY то идут к БД.
Т.е. изорляция транзакции не работает.
ТЗ вы не выполните?
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 22, 2012 12:27 
Ответить с цитатой
в сети много чего есть.
Даже такой изврат, как пройти рекурсивно по lazy полям и инициализировать их до 15-го колена.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
WebPrj : 72
Новичок

СообщениеЯнв 22, 2012 12:32 
Ответить с цитатой
Фаулер пишет не о том, что DTO не нужен
это как понимать? Я уже не раз на это натыкаюсь.

http://www.rsdn.ru/forum/java/2048872.1.aspx
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
 
Начать новую тему  Ответить на тему
Страница 1 из 3
На страницу 1, 2, 3  След.
Список форумов
 -> Персистентность в Java (JPA, ORM, ODB)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru