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

                 Key: ORCHESTRA-53
                 URL: https://issues.apache.org/jira/browse/ORCHESTRA-53
             Project: MyFaces Orchestra
          Issue Type: Bug
          Components: Conversation
    Affects Versions: 1.4
            Reporter: Jose Luis Freire


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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to