10

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

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
4

3 に答える 3

7

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

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

于 2013-03-19T10:31:24.553 に答える
5

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

于 2015-07-22T16:07:12.313 に答える