[weld-issues] [JBoss JIRA] (WELD-877) "IllegalStateException: Context is already active" when error-page of exception-type com.sun.faces.context.FacesFileNotFoundException

Lincoln Baxter III (Commented) (JIRA) jira-events at lists.jboss.org
Mon Oct 24 14:58:45 EDT 2011


    [ https://issues.jboss.org/browse/WELD-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637009#comment-12637009 ] 

Lincoln Baxter III commented on WELD-877:
-----------------------------------------

IMO, Weld should not be throwing exceptions if the Context is already active. Simply re-attach to the existing context. Even a simple servlet forward() will break WELD if using JSF and Conversations.
                
> "IllegalStateException: Context is already active" when error-page of exception-type com.sun.faces.context.FacesFileNotFoundException
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WELD-877
>                 URL: https://issues.jboss.org/browse/WELD-877
>             Project: Weld
>          Issue Type: Bug
>          Components: Web Tier integration (JSF, JSP, EL and Servlet) 
>    Affects Versions: 1.1.0.Final
>         Environment: Glassfish 3.1
>            Reporter: Cory Prowse
>         Attachments: WELD-877.war
>
>
> Weld throws an exception of "IllegalStateException: Context is already active" when attempting to access a facelets page that doesn't exist (one that matches the url-pattern for the FacesServlet).
> Attached is a minimal war (contains no class files) which exhibits this error.
> The web application works if the "WEB-INF/beans.xml" file is removed (not a solution for an application using Weld).
> Simplified stack trace is:
> [#|2011-03-31T20:16:28.406+1000|WARNING|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=169;_ThreadName=Thread-2;|org.apache.catalina.core.StandardHostValve at 1042d3b: Exception Processing ErrorPage[exceptionType=com.sun.faces.context.FacesFileNotFoundException, location=/notFound.xhtml]
> javax.servlet.ServletException: Context is already active
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)
> 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
> ...
> Caused by: java.lang.IllegalStateException: Context is already active
> 	at org.jboss.weld.context.AbstractConversationContext.activate(AbstractConversationContext.java:301)
> 	at org.jboss.weld.jsf.WeldPhaseListener.activateConversations(WeldPhaseListener.java:110)
> 	at org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:84)
> 	at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
> 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
> 	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:113)
> 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
> 	... 27 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list