Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1142

WeldListener prematurely deactivates all contexts and conversations in portlet environment

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 1.1.8.Final
    • Infrastructure
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ngriffin7a_jira Neil Griffin (Inactive)
              Votes:
              8 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: