@SessionScoped
从 Filter 中获取CDI bean相对容易。但是尝试注入@ConversationScoped
bean 会引发以下错误:
org.jboss.weld.context.ContextNotActiveException:
WELD-001303 No active contexts for scope type javax.enterprise.context.ConversationScoped
这与对话当前是否处于活动状态无关。似乎 CDI 无法确定应该使用瞬态对话还是活动对话,因为我的过滤器发生在为@ConversationScoped
bean 提供上下文之前。
可以使用哪种过滤器/拦截机制“足够晚”发生?