[ 
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

Reply via email to