2013-03-19 4 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

+0

Мое применение - война. –

ответ

4

Session область действие контексты активны только во время сервлета вызовов с service() способом, или при выполнении сервлета фильтра. Не убедитесь, что у вас установлена ​​настройка работы Activiti, но она не будет находиться в активном периоде контекста сеанса. Таким образом, если вы вводите какие-либо компоненты, которые требуют @SessionScoped, тогда инъекция завершится с ошибкой.

Решение заключается в удалении инъекций бобов, для которых требуется @SessionScoped, или для модификации компонентов.

+0

Многие благодарю вас за объяснение, –

+0

Привет, Я использую сварку и создаю entitymanager, который должен быть действительным для сеанса входа пользователя в систему и вставлять сущ., И у меня есть фильтр использования для перехвата запросов, я получаю исключение: org .jboss.weld.context.ContextNotActiveException: WELD-001303: нет активных контекстов для типа области javax.enterprise.context.SessionScoped \t Пожалуйста, расскажите мне, как это сделать. Sentil – user1503117

2

Я столкнулся с той же проблемой, и на основании ответа, опубликованного @Perception, кажется, что если вы используете @Singleton (javax.ejb.Singleton) вместе с аннотациями @Startup (javax.ejb.Startup) на некоторый класс инициализации, а также вводящий другой bean-компонент, который является @SessionScoped или зависит от другого компонента, который является @SessionScoped, он вызовет эту ошибку WELD-001303.

0

У меня также была такая же проблема.

В моем случае я использовал факс CDId в таймере EJB, который был выполнен с помощью аннотации @javax.ejb.Schedule. Это, очевидно, не работает, так как нет сеанса, когда выполняется таймер.

 Смежные вопросы

  • Нет связанных вопросов^_^