2013-03-19 55 views
5

我已經搜索了每個地方,但似乎我無法找到解決此錯誤的最佳答案,有我的堆棧跟蹤,有人可以告訴我該怎麼跟我發生的事情,我已經花了三三兩兩約會尋找這個錯誤.... :(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 
+0

無法回答沒有更多的細節。你的申請是什麼(耳?戰?) – artbristol 2013-03-19 10:07:53

+0

我的申請是戰爭。 – 2013-03-20 07:54:47

回答

4

會話範圍的servlet上下文中才是有效的調用與service()方法,或執行Servlet過濾器時,沒有。確定你的Activiti作業是如何設置的,但它看起來不在會話上下文的激活期。因此,如果你注入任何需要@SessionScoped的bean,那麼注入將會失敗。

解決方法是刪除需要@SessionScoped的bean注入,或者修改bean。

+0

很多感謝您的解釋, – 2013-03-20 07:56:36

+0

嗨在那裏,我使用焊接,並生產entitymanager必須是有效的用戶登錄會議和注入entitymanager,我有一個使用過濾器來攔截請求,我收到異常:org .jboss.weld.context.ContextNotActiveException:WELD-001303:作用域類型沒有活動上下文javax.enterprise.context.SessionScoped \t請告訴我如何做同樣的。 – user1503117 2014-10-12 01:37:54

2

我正面臨同樣的問題,並基於@Perception發佈的答案,似乎如果您使用@Singleton(javax.ejb.Singleton)和@Startup(javax.ejb.Startup)註釋一些初始化類,並且還注入了其他的@SessionScoped bean或者依賴於其他的@SessionScoped bean,它會導致這個WELD-001303錯誤。

0

我也面臨同樣的問題。

在我的情況下,我在一個計時器EJB中使用@javax.enterprise.context.SessionScope d CDI bean,它是通過@javax.ejb.Schedule註釋執行的。這顯然不起作用,因爲執行定時器bean時沒有會話。

相關問題