You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Steven De Groote (Jira)" <de...@myfaces.apache.org> on 2020/06/08 18:04:00 UTC

[jira] [Commented] (MYFACES-4335) Unable to resolve SessionScoped bean in PhaseListener after forward

    [ https://issues.apache.org/jira/browse/MYFACES-4335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17128504#comment-17128504 ] 

Steven De Groote commented on MYFACES-4335:
-------------------------------------------

Apologies for the earlier repro. That was wrong indeed.
However, I've added a new repro to the open-liberty issue on [https://github.com/OpenLiberty/open-liberty/issues/9929]

> Unable to resolve SessionScoped bean in PhaseListener after forward
> -------------------------------------------------------------------
>
>                 Key: MYFACES-4335
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4335
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Steven De Groote
>            Priority: Major
>
> In a regular Phaselistener, as of JSF 2.2, it is usually possible to [@Inject|https://github.com/Inject] a bean. In my case, I'm injecting a SessionScoped bean, which works well in normal conditions.
> However, if an exception occurs, and the PhaseListener is called again for the error page, then the injection point fails. This should not happen.
> {{org.jboss.weld.contexts.ContextNotActiveException: WELD-001303:
>  No active contexts for scope type 
> javax.enterprise.context.SessionScoped at 
> org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:647)
>  at 
> org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:89)
>  at 
> org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:164)
>  at 
> org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)
>  at 
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:87)
>  at 
> org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:131)
>  at 
> org.primefaces.test.WebSession$Proxy$_$$_WeldClientProxy.getName(Unknown
>  Source) at 
> org.primefaces.test.LoginController.afterPhase(LoginController.java:26) 
> at 
> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:117)
>  at 
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:210)
>  at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:142)
>  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:204) at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
>  at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:729)
>  at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:426)
>  at 
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:182)
>  at 
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
>  at 
> com.ibm.ws.security.jaspi.JaspiServletFilter.doFilter(JaspiServletFilter.java:56) }}
> {{}}
> Note this is the same issue as I posted on OpenLiberty (but without response).
> Over there, I uploaded a reprocase: https://github.com/OpenLiberty/open-liberty/issues/9929{{}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)