WELD-001303作用域类型javax.enterprise.context.SessionScoped没有活动上下文

WELD-001303作用域类型javax.enterprise.context.SessionScoped没有活动上下文,java,jboss,annotations,weld,Java,Jboss,Annotations,Weld,我到处搜索,但似乎找不到解决此错误的最佳答案,这是我的堆栈跟踪,有人能告诉我发生了什么吗,我花了两个月的时间来查找此错误……:( 会话作用域上下文仅在使用service()调用servlet期间处于活动状态方法,或在执行servlet筛选器时。不确定如何设置Activiti作业,但它似乎不在会话上下文的活动期内。因此,如果您注入任何需要@SessionScoped的bean,则注入将失败 解决方案是删除需要@SessionScoped的bean注入,或者修改bean。我也面临着同样的问题,根据@

我到处搜索,但似乎找不到解决此错误的最佳答案,这是我的堆栈跟踪,有人能告诉我发生了什么吗,我花了两个月的时间来查找此错误……:(


会话作用域上下文仅在使用
service()调用servlet期间处于活动状态
方法,或在执行servlet筛选器时。不确定如何设置Activiti作业,但它似乎不在会话上下文的活动期内。因此,如果您注入任何需要
@SessionScoped
的bean,则注入将失败


解决方案是删除需要
@SessionScoped
的bean注入,或者修改bean。

我也面临着同样的问题,根据@Perception发布的答案,如果您将@Singleton(javax.ejb.Singleton)与@Startup(javax.ejb.Startup)一起使用,似乎是某些初始化类上的注释,以及注入@SessionScoped的其他bean或依赖于@SessionScoped的其他bean,将导致此WELD-001303错误。

您应该分离前端会话逻辑。假设您为每个登录用户都有@SessionScoped bean,它包含Account对象


登录后,同时将Account对象保存到会话bean中,并将Account对象保存到@ApplicationScoped bean中,但在HashMap(id,Account)中,在后端逻辑中,每个单例bean都可以访问@Application Scoped bean并从中获取数据。即使是@Schedule方法。

如果没有更多详细信息,也无法回答。您的应用程序是什么(耳朵?战争?)我的应用程序是war。您好,我使用weld,生成entitymanager,它必须对用户loggedin会话有效,并注入entitymanager,我有一个用于拦截请求的使用筛选器,我得到了一个异常:org.jboss.weld.context.ContextNotActivieException:weld-001303:作用域类型javax.enterprise没有活动上下文.context.SessionScoped请告诉我如何做同样的
16:55:02,405 SEVERE [org.activiti.engine.impl.jobexecutor.TimerCatchIntermediateEventJobHandler] (Thread-16 (HornetQ-client-global-threads-982087879)) exception during timer execution: org.activiti.engine.ActivitiException: Exception while invoking TaskListener: WELD-001303 No active contexts for scope type javax.enterprise.context.SessionScoped
    at org.activiti.engine.impl.persistence.entity.TaskEntity.fireEvent(TaskEntity.java:529) [activiti-engine-5.11.jar:5.11]
    at ....
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.SessionScoped
    at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:598) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:71) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
    at com.metro.wfm.shared.cdi.OverrideUserBean$Proxy$_$$_WeldClientProxy.hasBean(OverrideUserBean$Proxy$_$$_WeldClientProxy.java) [wfm-shared-0.0.2.jar:]
    ... 168 more