[
https://issues.apache.org/jira/browse/MYFACES-1960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629624#action_12629624
]
Leonardo Uribe commented on MYFACES-1960:
-----------------------------------------
After revision, added:
hard-soft: use an ReferenceMap(AbstractReferenceMap.HARD,
AbstractReferenceMap.SOFT)
soft-weak: use an ReferenceMap(AbstractReferenceMap.SOFT,
AbstractReferenceMap.WEAK, true)
Use a hard-soft mode could lead to a memory leak (MYFACES-1660). I don't like
add this mode, but does not harm.
> Make the state-manager (JspStateManagerImpl) behaviour storing the previous
> view-states in MyFaces optional
> -----------------------------------------------------------------------------------------------------------
>
> Key: MYFACES-1960
> URL: https://issues.apache.org/jira/browse/MYFACES-1960
> Project: MyFaces Core
> Issue Type: Improvement
> Affects Versions: 1.1.6, 1.2.4
> Reporter: Leonardo Uribe
> Assignee: Leonardo Uribe
> Attachments: MYFACES-1960-JSF11-v2.patch, MYFACES-1960-JSF11.patch,
> MYFACES-1960-JSF12-v2.patch, MYFACES-1960-JSF12.patch
>
>
> Actually the class
> org.apache.myfaces.application.jsp.JspStateManagerImpl.SerializedViewCollection
> store the old views using:
> protected Map getOldSerializedViewsMap() {
> if (_oldSerializedViews == null) {
> _oldSerializedViews = new
> ReferenceMap(AbstractReferenceMap.WEAK, AbstractReferenceMap.WEAK, true);
> }
> return _oldSerializedViews;
> }
> Right now, this part is used when server side saving is enabled, as a second
> level cache. If the view is not available on _serializedViews (the map that
> holds the views in first place) , it tries to get it from
> _oldSerializedViews. If it is found use it but if not just return null.
> The default should be that this behaviour is off (contrary to the current
> case).
> It is more, there should be the possibility to use soft references instead
> weak references, so the user can tune this by its own needs.
> The idea for solve this is create a param called
> org.apache.myfaces.CACHE_OLD_VIEWS_IN_SESSION_MODE with the possible values:
> soft: use an ReferenceMap(AbstractReferenceMap.SOFT,
> AbstractReferenceMap.SOFT, true)
> weak: use an ReferenceMap(AbstractReferenceMap.WEAK,
> AbstractReferenceMap.WEAK, true)
> off, no: default, no cache is used
> The changes should be applied on 1.1 and 1.2.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.