[seam-issues] [JBoss JIRA] Commented: (SEAMFACES-163) FacesServletInitializer interferes with FacesInitializer
Brian Leathem (JIRA)
jira-events at lists.jboss.org
Tue May 17 00:09:01 EDT 2011
[ https://issues.jboss.org/browse/SEAMFACES-163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602468#comment-12602468 ]
Brian Leathem commented on SEAMFACES-163:
-----------------------------------------
Thanks for providing the analysis!
I update the related GLassfish issue with this information:
http://java.net/jira/browse/GLASSFISH-16061
> FacesServletInitializer interferes with FacesInitializer
> --------------------------------------------------------
>
> Key: SEAMFACES-163
> URL: https://issues.jboss.org/browse/SEAMFACES-163
> Project: Seam Faces
> Issue Type: Bug
> Components: Configuration API
> Affects Versions: 3.0.1
> Environment: Glassfish 3.1. Mojarra 2.1.1, Weld 1.1.1, Seam-Faces 3.0.1
> Reporter: Bryn Cooke
>
> I have a basic 1 page JSF app on glassfish with seam-faces.
> Sometimes I am getting java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
> After some digging I think the problem is the following:
> org.jboss.seam.faces.config.FacesServletInitializer and com.sun.faces.config.FacesInitializer both have logic that tries to register the faces servlet if one isn't already registered.
> Glassfish seems to execute context listeners in a random order. Whichever listener is run first will perform faces initialization (they both check to see if a faces servlet has been
> configured).
> com.sun.faces.config.FacesInitializer has the following code, which seems to be required to set up faces correctly.
> // The following line is temporary until we can solve an ordering
> // issue in V3. Right now the JSP container looks for a mapping
> // of the FacesServlet in the web.xml. If it's not present, then
> // it assumes that the application isn't a faces application. In this
> // case the JSP container will not register the ConfigureListener
> // definition from our TLD nor will it parse cause or JSP TLDs to
> // be parsed.
> servletContext.addListener(com.sun.faces.config.ConfigureListener.class);
> This bug is not deterministic due to the random ordering of listeners by Glassfish.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list