[
https://issues.jboss.org/browse/WELD-877?page=com.atlassian.jira.plugin.s...
]
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@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