Hi guys,

org.apache.myfaces.context.servlet.FacesContextImpl#release does the
release but javax.faces.webapp.FacesServlet#service doesn't handle
context push/pop so if a JSF request does a JSF include (and retrigger
the servlet) it will likely reset too early the context.

Here a diagram hoping it helps:

-> request
        -> FacesServlet
                  -> setFacesContext
                         -> FacesServlet
                             -> anything relaunching a JSF "request"
org.apache.myfaces.view.jsp.JspViewDeclarationLanguage#buildView does
a forward for instance)
                                 -> setFacesContext
                                      -> setFacesContext
                                      -> releaseFacesContext
                  -> end of lifecycle // oops faces context is null
                  -> releaseFacesContext

Romain Manni-Bucau
@rmannibucau |  Blog | Github | LinkedIn | Tomitriber

Reply via email to