melloware opened a new pull request, #996:
URL: https://github.com/apache/myfaces/pull/996

   …ved (#995)
   
   A view rendered without writing its state - e.g. a page with no UIForm, so 
no view state token is emitted - can never be restored, and unlike a saved view 
it is never registered in the session SerializedViewCollection. Consequently 
the normal "evict view -> destroy its view scope" path never ran for such a 
view, and any @ViewScoped beans created while rendering it lingered in the 
session (ViewScopeContextualStorageHolder) until the session expired. 
Requesting such a page repeatedly within one session therefore leaked one 
view-scope storage per request, unbounded.
   
   FaceletViewDeclarationLanguage.renderView now destroys the view scope of a 
non-transient view whose state was not written, at the end of the request, 
publishing PreDestroyViewMapEvent and destroying its (CDI or non-CDI) 
@ViewScoped storage.
   
   Add ViewScopeFormlessLeakTestCase: rendering a formless page bound to a 
@ViewScoped bean N times now destroys the bean N times instead of accumulating 
it in the session.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to