[ https://issues.apache.org/jira/browse/MYFACES-2979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13010887#comment-13010887 ]
Simon Godard edited comment on MYFACES-2979 at 3/24/11 8:09 PM: ---------------------------------------------------------------- I'm experiencing the same problem although I'm not using OWB. java.lang.IllegalStateException: org.apache.shiro.session.UnknownSessionException: There is no session with id [bc6066fc-96e5-43ee-bf56-951201b5e702] org.apache.shiro.web.servlet.ShiroHttpSession.getAttribute(ShiroHttpSession.java:133) org.apache.myfaces.context.servlet.SessionMap.getAttribute(SessionMap.java:50) org.apache.myfaces.util.AbstractThreadSafeAttributeMap.containsKey(AbstractThreadSafeAttributeMap.java:58) org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:192) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:68) org.apache.el.parser.AstValue.getValue(AstValue.java:112) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) javax.faces.component.UIOutput.getValue(UIOutput.java:71) javax.faces.component.UIInput.getValue(UIInput.java:143) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener$DebugVisitCallback._getRealValue(DebugPhaseListener.java:264) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener$DebugVisitCallback.visit(DebugPhaseListener.java:187) org.apache.myfaces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:139) javax.faces.component.UIComponent.visitTree(UIComponent.java:773) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:162) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286) org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111) org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185) org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) was (Author: godardsi): I'm experiencing the same problem although I'm not using OWB. {code} java.lang.IllegalStateException: org.apache.shiro.session.UnknownSessionException: There is no session with id [bc6066fc-96e5-43ee-bf56-951201b5e702] org.apache.shiro.web.servlet.ShiroHttpSession.getAttribute(ShiroHttpSession.java:133) org.apache.myfaces.context.servlet.SessionMap.getAttribute(SessionMap.java:50) org.apache.myfaces.util.AbstractThreadSafeAttributeMap.containsKey(AbstractThreadSafeAttributeMap.java:58) org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:192) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:68) org.apache.el.parser.AstValue.getValue(AstValue.java:112) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) javax.faces.component.UIOutput.getValue(UIOutput.java:71) javax.faces.component.UIInput.getValue(UIInput.java:143) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener$DebugVisitCallback._getRealValue(DebugPhaseListener.java:264) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener$DebugVisitCallback.visit(DebugPhaseListener.java:187) org.apache.myfaces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:139) javax.faces.component.UIComponent.visitTree(UIComponent.java:773) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:162) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) javax.faces.component.UIComponent.visitTree(UIComponent.java:793) javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310) org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286) org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111) org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185) org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) {code} > Session invalidation in Development Stage causes error in OpenWebBeans > ---------------------------------------------------------------------- > > Key: MYFACES-2979 > URL: https://issues.apache.org/jira/browse/MYFACES-2979 > Project: MyFaces Core > Issue Type: Bug > Components: JSR-314 > Affects Versions: 2.0.3-SNAPSHOT > Environment: MyFaces 2.0.3-SNAPSHOT in Dev mode, OpenWebBeans 1.0.0, > Tomcat 6.0.29 (with Glassfish EL 2.2) > Reporter: Jan-Kees van Andel > Attachments: debugphaselistener.patch > > > I have a logout method, shown below: > public String logout() { > final FacesContext fc = FacesContext.getCurrentInstance(); > final ExternalContext externalContext = fc.getExternalContext(); > try { > externalContext.invalidateSession(); > externalContext.redirect("http://www.google.nl"); > } catch (IOException e) { > log.error("Error redirecting after logout", e); > } finally { > fc.responseComplete(); > } > return null; > } > When I invoke this method, I get the following Exception from OpenWebBeans: > javax.enterprise.context.ContextNotActiveException: WebBeans context with > scope type annotation @SessionScoped does not exist within current thread > at > org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:309) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:124) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95) > at > org.apache.myfaces.examples.ebanking.web.bean.SessionBean_$$_javassist_2.getCustomer(SessionBean_$$_javassist_2.java) > at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at javax.el.BeanELResolver.getValue(BeanELResolver.java:302) > at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) > at org.apache.el.parser.AstValue.getValue(AstValue.java:123) > at org.apache.el.parser.AstEmpty.getValue(AstEmpty.java:45) > at org.apache.el.parser.AstNot.getValue(AstNot.java:42) > at > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) > at > org.apache.webbeans.el.WrappedValueExpression.getValue(WrappedValueExpression.java:68) > at > org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) > at > javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260) > at > javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007) > at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289) > at javax.faces.component.UIComponent.visitTree(UIComponent.java:752) > at > javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) > at javax.faces.component.UIComponent.visitTree(UIComponent.java:778) > at > javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991) > at > org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310) > at > org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286) > at > org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111) > at > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185) > at > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) > This happens because the DebugPhaseListener starts visiting the tree and, in > the process, needs to resolve a value expression, which points to an OWB > session bean. > It only happens when the DebugPhaseListener is installed. In production mode > everything is fine. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira