Karl Kildén created OWB-910:
-------------------------------

             Summary: @PreDestroy causes ContextNotActiveException
                 Key: OWB-910
                 URL: https://issues.apache.org/jira/browse/OWB-910
             Project: OpenWebBeans
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.0
         Environment: Tomcat 7, Myfaces 2.1.11, OWB 1.2.0
            Reporter: Karl Kildén


I had a single session, as it timed out I got the following exception:

{quote}SEVERE: Exception thrown while destroying bean instance : [SessionBean, 
Name:sessionBean, WebBeans Type:MANAGED, API 
Types:[com.company.myapp.bean.SessionBean,com.company.myapp.bean.BaseBean,java.io.Serializable,java.lang.Object],
 
Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]]
javax.enterprise.context.ContextNotActiveException: WebBeans context with scope 
type annotation @RequestScoped does not exist within current thread
        at 
org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:334)
        at 
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:88)
        at 
org.apache.webbeans.web.intercept.RequestScopedBeanInterceptorHandler.getContextualInstance(RequestScopedBeanInterceptorHandler.java:78)
        at 
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:70)
        at 
org.apache.webbeans.custom.faces.context.ExternalContext$$OwbNormalScopeProxy0.getResponse(javax/faces/context/ExternalContext.java)
        at com.company.myapp.bean.SessionBean.cleanup(SessionBean.java:124)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
org.apache.webbeans.intercept.LifecycleInterceptorInvocationContext.proceed(LifecycleInterceptorInvocationContext.java:102)
        at 
org.apache.webbeans.portable.InjectionTargetImpl.preDestroy(InjectionTargetImpl.java:418)
        at 
org.apache.webbeans.component.AbstractOwbBean.destroy(AbstractOwbBean.java:178)
        at 
org.apache.webbeans.context.AbstractContext.destroyInstance(AbstractContext.java:177)
        at 
org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:202)
        at 
org.apache.webbeans.web.context.WebContextsService.destroySessionContext(WebContextsService.java:503)
        at 
org.apache.webbeans.web.context.WebContextsService.endContext(WebContextsService.java:209)
        at 
org.apache.webbeans.servlet.WebBeansConfigurationListener.sessionDestroyed(WebBeansConfigurationListener.java:201)
        at 
org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
        at 
org.apache.catalina.session.StandardSession.isValid(StandardSession.java:658)
        at 
org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:534)
        at 
org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:519)
        at 
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1352)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
        at java.lang.Thread.run(Thread.java:722){quote}

SessionBean uses @PreDestroy and does some cookie stuff using externalContext.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to