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.