When does the page context get destroyed?
The page scope is indistinguishable from the UI component tree.
Therefore, the page context is destroyed when JSF removes the UI
component tree (also called the view) from the session. However, when
this happens, Seam does not receive a callback and therefore the
@Destroy method on a page-scoped component never gets called. If the
user clicks away from the page or closes the browser, the page context
has to wait to get cleaned up into JSF kills the view to which it is
bound. This typically happens when the session ends or if the number
of views in the session exceeds the limit. This limit is established
using the com.sun.faces.numberOfViewsInSession and
com.sun.faces.numberOfLogicalViews context parameters in the Sun
implementation. Both default to 15. However, it's generally best not
to mess with these values.
The page scope should be seen merely as a way to keep data associated
with a view as a means of maintaining the integrity of the UI
component. This focus is especially relevant for data tables, which
have historically been problematic. I would not use the page scope as
a general storage mechanism for use case or workflow data. A good way
to think of it is as a cache.
http://www.seamframework.org/42514.lace