Uploaded image for project: 'MyFaces Orchestra'
  1. MyFaces Orchestra
  2. ORCHESTRA-53

Access Scope doesn't account for network latency (or other network events).

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.4
    • None
    • Conversation
    • None

    Description

      Access Scoped conversations are cleared after the render response phase.

      Consider the following environment:
      A page with two links:
      LINK #1 - link that stays on the same page, and requires the access scoped beans to be valid,
      LINK #2 - link that leaves the current page, invalidating the current access scoped beans.

      Consider the following events:
      1) A user clicks on LINK #2, and the request is fully processed, invalidating the current access scoped beans in the RENDER_RESPONSE phase.
      2) Before the user receives the response page (either by being a trigger happy user, or by slow network speeds, or by network error where the new page never arrives), the user clicks on LINK #1 that requires the access scoped beans to be valid.

      This will crash the application, since the access scoped beans were already invalidated when the server processed the LINK #2 event.

      The solution might be deferring the the access scoped beans invalidation to BEFORE RESTORE_VIEW:
      REQUEST #1, AFTER RENDER_PHASE: Save the previousView to the previousPreviousView. The Access Manager marks the access beans as pre-invalid;
      REQUEST #2, BEFORE RESTORE_VIEW: currentView <> previousPreviousView? commit invalidation.

      A good side effect would be that at least one back button would be supported.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jfreire Jose Luis Freire
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: