Thanks David - that was very informative.

I can't help but thinking that quite many applications would want to lower the NUMBER_OF_VIEWS_IN_SESSION from the default 20. I mean if the user really visits the same website 20 times and thus sees view 1, 2, ..., 20, what are the chances that he will go back and visit, say, view 4? On many sites I would assume that the chance of that is quite low, which could indicate that a much lower number would be relevant.

Suppose you lower the NUMBER_OF_VIEWS_IN_SESSION to, say, 5, there will obviously be a greater chance that the user will revisit a view that is no longer cached, but since the server is supposed to be able to deliver that view pretty fast on his first visit anyway it will of course also be able to deliver the view quite fast on his second visit even though the view is not cached.

So why is 20 the default?


Randahl



David Delbecq wrote:
Hi randahl,

I recommend you take a look at the JSF lifecycle and more particulary at
the 'Restore view' and the 'Render response' part.
http://www-128.ibm.com/developerworks/java/library/j-jsf2/#N100A9

The view is a set of components. The components are read (initial view)
with their static values and their EL values and then rendered multiple
time. It's at render time that the 'day/night' should be evaluated. If
you have this in you page:
<myCustomComponents:backgroundColor
calor="#{dayBean.isNight?'#000000':'#FFFFFF'}/> then you are sure that
background color will always be correct as long as dayBean.isNight() is
correct.
Randahl Fink Isaksen a écrit :
  
I read that the default for NUMBER_OF_VIEWS_IN_SESSION is 20, meaning
that MyFaces will store the latest 20 of a client's views in the
client's session. This made me wonder how MyFaces tells the difference
between the views and how MyFaces know when to reuse a view. For
instance if you visit "/aView.jsf" in a browser how can MyFaces tell
whether that view can be safely stored and reused later in the session
if you visit the same view again?

Let me give an example: Let us say that the view on the address
"/aView.jsf" uses a component which makes the background color of the
page white during daytime and black during the night. If I then visit
the view just before nightfall and receive a white page and then
revisit the view during the same session but right after nightfall,
what color will the view then be? I would think that if the original
view is reused it would still be white even though it should actually
now have changed to black. So how can I as a developer tell MyFaces
whether or not it is safe to store the information about the
background color and for how long the information is valid?

Has anyone found some documentation about this?

Thank you

Randahl

    



  

Reply via email to