Как мне использовать CODI Conversation? Конкретно как это закончить? - PullRequest
0 голосов
/ 21 сентября 2011

На основании опубликованных советов здесь и здесь я изучил и установил MyFaces CODI с моим приложением. Моя самая большая проблема заключалась в преодолении недостатков реализации Weld функции @ConversationScoped. После некоторых сбоев я запустил его на своей платформе разработки GlassFish 3.1 и преобразовал все свои bean-компоненты в

import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;

В конце концов, мне кажется, что я не намного дальше, чем был раньше. Мне больше не нужно вызывать метод разговор.begin () , и это хорошо, но компоненты остаются после того, как браузер покинул страницу и вернулся.

На что я надеялся, так это на функциональность JSF 2.0 @ViewScoped, которая работает с CDI. Как только пользователь покидает страницу, компонент поддержки должен быть отброшен и создан заново, если пользователь возвращается. Есть ли способ сделать это с CODI?

Кстати, в документации сказано, что она подберет аннотации @ViewScoped и обработает их должным образом. Я попробовал это и получил, и Weld не развернул бы это.

P.S. Я использую myfaces-extcdi-dist-jsf20 версии 0.9.5. Я попытался установить ядро ​​и дополнительный модуль JSF 2 akibe, но он не развернулся на моей платформе GlassFish / Weld. Любой совет здесь высоко ценится.

ОБНОВЛЕНИЕ 1: Я закончил тем, что попробовал аннотацию ViewAccessScope, поддерживаемую CODI, и это, кажется, делает то, что я хотел.

Дополнительный вопрос. Последний пакет, который поддерживает хранилище maven, которое поддерживает Apache, - 0.9.5. Может ли кто-нибудь опубликовать сегмент pom.xml, который выбирает последнюю версию?

1 Ответ

2 голосов
/ 22 сентября 2011

Вызовите разговор.close () перед возвратом - убедитесь, что вы импортировали правильную аннотацию org.apache ... а не javax ... - см. Wiki или используйте вместо этого ViewAccessScope.Мы используем: связка в Glassfish 3.1.1 без проблем.myfaces-extcdi-bundle-jsf20-1.0.1.jar - единственный файл, который вам нужен.Также обратите внимание, что здесь нет «этого».С CODI у вас есть мелкозернистые групповые разговоры вместо монолитных и негибких вещей, которые вы получаете со стандартными разговорами CDI.

Настройка для последней версии со сборкой Maven также есть в Wiki .

...