[
https://issues.apache.org/jira/browse/MYFACES-3117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13025725#comment-13025725
]
Jakob Korherr commented on MYFACES-3117:
----------------------------------------
Another idea: we could provide a way to not limit the serialized view states in
the session per quantity (currently 20), but per timeout (e.g. 10 minutes).
This would most certainly also solve the problem, right?
> Current server state saving implementation prevents multi-window usage
> ----------------------------------------------------------------------
>
> Key: MYFACES-3117
> URL: https://issues.apache.org/jira/browse/MYFACES-3117
> Project: MyFaces Core
> Issue Type: Bug
> Components: General
> Affects Versions: 2.0.6-SNAPSHOT
> Environment: myfaces core trunk
> Reporter: Martin Kočí
> Priority: Critical
> Attachments: MYFACES-3117.patch
>
>
> Problem:
> open two tabs (or windows) in browser with view:
> <h:body>
> <h:form id="formId">
> <h:commandButton value="Click me 20x!" />
> </h:form>
> </h:body>
> then click the button on the first tab 20x or more -> then click the button
> on the second tab -> you will get the most beloved ViewExpiredException.
> Reason:
> oam.SerializedViewCollection drops the saved state for 2. tab from map.
> Suggestion:
> remove the successfully restored view state from map. This can be done,
> because each SerializedViewKey is unique over *all requests* for one
> HttpSession - see
> DefaultFaceletsStateManagementHelper.nextViewSequence(FacesContext). Because
> each request has unique sequence number, we can the "just restored" one
> remove from the map, because it can never come from client again.
> Open question: the previous statement is true except the double submit
> problem: JAVASERVERFACES_SPEC_PUBLIC-559. In this case, server can
> process same request (with the same sequence number) twice.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira