2013-09-02 4 views
0

Получение @SessionScoped CDI изнутри фильтра relatively easy. Но пытаться придать @ConversationScoped боб бросает следующее сообщение об ошибке:Как мне получить компонент ConversationScoped CDI изнутри фильтра?

org.jboss.weld.context.ContextNotActiveException: 
WELD-001303 No active contexts for scope type javax.enterprise.context.ConversationScoped 

Это не зависит от того, в настоящее время активен разговор. Похоже, что CDI не может определить, следует ли использовать переходный или активный разговор, потому что мой фильтр происходит до того, как будет предоставлен контекст для @ConversationScoped beans.

Какой механизм фильтра/перехвата можно использовать, что происходит «достаточно поздно»?

ответ

0

Я не уверен, как это делают другие реализации, но, по крайней мере, Weld использует сам фильтр для обработки разговоров, поэтому ваш фильтр должен быть после этого в цепочке фильтров.

+0

Поскольку, похоже, нет удовлетворительного решения проблемы, я приму ваш ответ. – rluba

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