[
https://issues.apache.org/jira/browse/MYFACES-3886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13978305#comment-13978305
]
Leonardo Uribe commented on MYFACES-3886:
-----------------------------------------
Ok, now I get the problem. In JSF 2.2 we added some code to reuse the key on
ajax. See MYFACES-3804. But the new logic does not ensure the key is added at
last of the precedence list each time it is reused. It is a bug.
> SerializedViewCollection does not update it's _keys list when
> _serializedViews contains key
> -------------------------------------------------------------------------------------------
>
> Key: MYFACES-3886
> URL: https://issues.apache.org/jira/browse/MYFACES-3886
> Project: MyFaces Core
> Issue Type: Bug
> Components: General
> Affects Versions: 2.2.2
> Environment: PrimeFaces 4.0.12.
> Reporter: Adam Balazs
>
> When I use DialogFramework (of PrimeFaces), it's adds a new view to the
> session every time. The problem is that when I post an AJAX request to the
> original view, the _keys list is not updated, only the view get updated in
> the _serializedViews map.
> After I reach the limit defined with the
> org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION context-param, MyFaces gets the
> first element in the _keys list (which is the container view) - assuming that
> this is the oldest view in the session - and remove the corresponding view
> from the _serializedViews map by the key. But clearly it is not, as I already
> posted some AJAX requests to it.
> I think the optimal behavior would be the following: when a view gets an ajax
> request the code should remove the the key from the _keys list and than add
> it as a last element.
> The related class is
> org.apache.myfaces.application.viewstate.SerializedViewCollection at the if
> condition started at line 87.
> My question is if it is an intended behavior or if it's a bug.
--
This message was sent by Atlassian JIRA
(v6.2#6252)