WELD-001303 范围类型 javax.enterprise.context.SessionScoped 没有活动上下文 [英] WELD-001303 No active contexts for scope type javax.enterprise.context.SessionScoped

查看:46
本文介绍了WELD-001303 范围类型 javax.enterprise.context.SessionScoped 没有活动上下文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我搜索了所有地方,但似乎找不到解决此错误的最佳答案,有我的堆栈跟踪,有人可以告诉我发生了什么,我花了两个多日才找到此错误....:(

I have searched every where, but seem I cannot find out the best answer for me to resolved this error, there is my stack trace, can somebody tell me what happening with me, I have spent twos date to finding this error....:(

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

推荐答案

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

Session scoped contexts are only active during servlet calls with the service() method, or when executing a servlet filter. Not sure how you have your Activiti job setup, but it would appear not to be within the active period of a session context. As such, if you inject any beans that require @SessionScoped then the injection will fail.

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

The solution would be to remove the bean injections that require @SessionScoped, or to modify the beans.

这篇关于WELD-001303 范围类型 javax.enterprise.context.SessionScoped 没有活动上下文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆