0

@SessionScopedFilter 内から CDI Bean を取得するのは比較的簡単です。ただし、Bean を注入しようとすると@ConversationScoped、次のエラーがスローされます。

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

これは、会話が現在アクティブかどうかとは関係ありません。@ConversationScopedBeanにコンテキストを提供する前にフィルターが発生するため、CDI は一時的な会話とアクティブな会話のどちらを使用する必要があるかを判断できないようです。

「十分に遅く」発生する、どのようなフィルター/傍受メカニズムを使用できますか?

4

1 に答える 1

0

I'm not sure how other implementations do this, but at least Weld uses a Filter itself to handle conversations, so your filter would need to be after that one in the filter chain.

于 2013-09-03T02:35:55.003 に答える