web-dev-qa-db-ja.com

WELD-001303スコープタイプjavax.enterprise.context.SessionScopedのアクティブなコンテキストがありません

私はどこでも検索しましたが、このエラーを解決するための最良の答えを見つけることができないようです、スタックトレースがあります、誰かが私に何が起こっているのか教えてもらえますか、私はこのエラーを見つけるために2日を費やしました... :(

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
7
Mike Nguyen

セッションスコープのコンテキストは、service()メソッドを使用したサーブレット呼び出し中、またはサーブレットフィルタを実行しているときにのみアクティブになります。 Activitiジョブをどのように設定しているかはわかりませんが、セッションコンテキストのアクティブ期間内にないように見えます。そのため、@SessionScopedを必要とするBeanを注入すると、注入は失敗します。

解決策は、@SessionScopedを必要とするBeanインジェクションを削除するか、Beanを変更することです。

6
Perception

私は同じ問題に直面していました。@ Perceptionが投稿した回答に基づくと、初期化クラスで@Startup(javax.ejb.Startup)アノテーションとともに@Singleton(javax.ejb.Singleton)を使用している場合は、また、@ SessionScopedであるか、@ SessionScopedである他のBeanに依存する他のBeanを挿入すると、このWELD-001303エラーが発生します。

3