ICEfaces
  1. ICEfaces
  2. ICE-1296

Seam EventContext lifespan is not correct

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.6DR#3, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Seam integration. All os, all hardware.

      Description

      Seam creates and maintains a number of Contexts with different scopes that application writers can use for various storage purposes for their application. The Contexts have different lifespans, some existing for only the request in progress (EventContext) and some lasting for an arbitrary length of time (eg. ConversationContext). The ICEfaces framework doesn't allow these Contexts to go away properly anymore; the PageContext has been fixed but the event context is still outstanding. Changes made to restore what used to work pre-1.6 now break the Seam-icefaces example application, and some work needs to be done to understand exactly what it is that's broken, and fix it.

      This causes no known issues at present, but it needs to be fixed while we know it's a problem, as it is difficult and time consuming to find problems of this nature, as the ramifications are always obscure.

        Issue Links

          Activity

          Hide
          Greg Dick added a comment -

          I've found an issue in the DR2 build. There's some code from 1.5.3 that hasn't found a place in the new environment. This code cleaned out the externalContext's attribute map after each request, if the "Standard_request_scope" context param is true. It is necessary for this to occur, or else Seam's EventContext continues to accumulate various request parameters and other debris.

          In order to get this to work, it is necessary to add a <context-param> to the applications web.xml file.

          com.icesoft.faces.standardRquestScope = true

          Sending ServletView.java
          Committed revision 13445.

          This should fix the EventContext, I'll keep this open until I can re-confirm the PageContext behaviour.

          Show
          Greg Dick added a comment - I've found an issue in the DR2 build. There's some code from 1.5.3 that hasn't found a place in the new environment. This code cleaned out the externalContext's attribute map after each request, if the "Standard_request_scope" context param is true. It is necessary for this to occur, or else Seam's EventContext continues to accumulate various request parameters and other debris. In order to get this to work, it is necessary to add a <context-param> to the applications web.xml file. com.icesoft.faces.standardRquestScope = true Sending ServletView.java Committed revision 13445. This should fix the EventContext, I'll keep this open until I can re-confirm the PageContext behaviour.
          Hide
          Greg Dick added a comment -

          More changes to ServletView.java to clean up the context under different call paths.

          repository version 13446

          Show
          Greg Dick added a comment - More changes to ServletView.java to clean up the context under different call paths. repository version 13446
          Hide
          Greg Dick added a comment -

          New changes to compensate a little for refactoring. Removed an unnecessary method in BridgeExternalContext.java revision 13507 and reverted some of the standardRequestScope code back to what was working before.

          ServletView.java, ServletExternalContext.java revision: 13508

          Show
          Greg Dick added a comment - New changes to compensate a little for refactoring. Removed an unnecessary method in BridgeExternalContext.java revision 13507 and reverted some of the standardRequestScope code back to what was working before. ServletView.java, ServletExternalContext.java revision: 13508
          Hide
          Greg Dick added a comment -

          In keeping with constant change, the necessary clearing code for event context cleanup has been changed.

          Sending ServletExternalContext.java
          Committed revision 13550.

          Show
          Greg Dick added a comment - In keeping with constant change, the necessary clearing code for event context cleanup has been changed. Sending ServletExternalContext.java Committed revision 13550.

            People

            • Assignee:
              Unassigned
              Reporter:
              Greg Dick
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: