-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
1.1.8.Final
-
None
Background:
In a servlet-environment, the FacesServlet does the following all one one shot:
facesLifecycle.execute(facesContext);
facesLifecycle.render(facesContext);
But in a portlet environment, the JSR-329 spec requires our bridges to split that up:
facesLifecycle.execute(facesContext); // ACTION_PHASE of the portlet lifecycle
facesLifecycle.render(facesContext); // RENDER_PHASE of the portlet lifecycle
The problem is that WeldListener.requestDestroyed(ServletRequestEvent) method is getting called after the ACTION_PHASE. So by the time the RENDER_PHASE runs, all the contexts and conversations have been deactivated.
Perhaps the WeldListener could check for the "javax.portlet.faces.phase" request attribute, and only do its job when the value returned is "RENDER_PHASE". See: http://myfaces.apache.org/portlet-bridge/2.0/api/apidocs/javax/portlet/faces/Bridge.PortletPhase.html#RENDER_PHASE
- is related to
-
WELD-1070 WeldPhaseListener destroys conversation too soon
- Resolved