2014-01-08 6 views
3

Я читал о области разговора в Java EE 6 (и, следовательно, CDI 1.0), и о том, как он может изолировать данные от разных вкладок в браузере и сохранять данные по многим запросам конкретный рабочий процесс страниц. У меня проблем нет.CDI и «Вложенные» разговоры

В моем чтении я читал, что многие его идеи пришли от Seam. Часто я вижу такие предостережения, как «но диалоговое окно CDI не делает« вложенных »разговоров». Я не уверен, что такое «вложенный» разговор?

Я прочитал эту хорошую ссылку также http://www.andygibson.net/blog/article/understanding-nested-conversations/

, но я думаю, что я что-то основополагающее хватаю .. Я просто не в полной мере получать то, что «вложенный» разговор в этом контексте. Может ли кто-нибудь помочь глупости для меня?

ответ

1

От Seam 2 documentation:

Вложенный разговор имеет свой собственный контекст разговора, но может считывать значения из контекста внешней цепочки и. Контекст внешней беседы доступен только для чтения внутри вложенного разговора, но поскольку объекты получают по ссылке, изменения в самих объектах будут отражаться во внешнем контексте.

Таким образом, при вложенных диалогах вы можете разделить заданную родительскую беседу на несколько дочерних цепочек, каждая из которых имеет как контекст, так и доступ к контексту родителя.

Несмотря на то, что на CDI сильно повлиял шов, это значит сказать только общий знаменатель нескольких влияний, поэтому он не содержит всего, что имел шов. Идея заключалась в том, что благодаря созданию расширений CDI, таких как Seam 3, и что теперь должно быть сделано Apache Deltaspike, более общие функции могут быть предоставлены выше стандарта CDI.

К сожалению, я очень разочарован тем, что предлагает Deltaspike и, несмотря на то, что JavaEE 6 и, таким образом, CDI так долго существовали, по-прежнему существует разрыв между тем, что я использовал с моими проектами Seam 2. Я имею в виду честно, просто взгляните на Deltaspike Homepage, который начинается со слов «Некоторые идеи логотипов», что в свою очередь заканчивает мою уверенность в этом ...

+0

Ok. Спасибо за ответ. Поэтому я могу начать вложенную беседу (которая может закончиться фактической передачей данных в базу данных), а затем вернуться к родительскому разговору, и она (по крайней мере, не затронута в памяти) тем, что сделал вложенный диалог? – johnm

+0

Да, вы можете так сказать - как указано в статье, о которой вы говорили, вы можете думать о ней как о наборе переменных, где доступны родительские, но не изменяемые для ребенка, и каждый ребенок имеет свой собственный набор переменных , –

+0

CODI/DeltaSpike разговоры лучше, и с ними вам не нужно сложное вложение вообще в большинстве случаев ... –

Смежные вопросы