[
http://jira.jboss.com/jira/browse/JBSEAM-3041?page=all ]
Christian Bauer closed JBSEAM-3041.
-----------------------------------
Resolution: Won't Fix
This was simply misconfiguration:
<context-param>
<param-name>com.sun.faces.numberOfViewsInSession</param-name>
<param-value>3</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.numberOfLogicalViews</param-name>
<param-value>3</param-value>
</context-param>
Do NOT set these numbers to these low values (default is 15/15). If I'd still have the
patience with this JSF crap, I'd actually try to make sense of this and find out why
state is mixed up when these LRU caches expire. That should be an error, but it is not.
The official explanation of these parameters is not much help in this regard:
http://wiki.glassfish.java.net/Wiki.jsp?page=JavaServerFacesRI
Finally, there is a much deeper, fundamental JSF design issue hidden here:
A search engine robot follows every hyperlink with a GET request (hurray for Google, who
are crazy enough to soon start submitting random POST requests). Let's say you want to
put a "Post a comment" button on your website. Do you do this with a GET or POST
request?
If you use JSF and <s:link> you will have a URI with an actionMethod=postComment
parameter. The search engine robots will follow it and index your comment form page.
Worse, they will do that over and over again, because conversation identifiers change (and
you need them for this kind of form handling, unless you want to do everything in PAGE
context). This is no good, obviously a POST would be better to start this conversation.
If you use JSF and <h:commandButton> you get a little form with a "Post
Comment" submit button, all send to to server with a POST requests. The search engine
robot will no longer follow this URI and index your comment form page. However, you have
just wasted one of the precious "logical views" in JSF server-side state saving.
Suppose someone opens more than 15 tabs in the browser, and each of these has a page with
a "Post Comment" button/form. You are now over the limit of logical views
configured in web.xml. What happens when tab number 16 is opened? The "least recently
used" item from the server-side state cache is expired, that means tab number 1 now
contains a "Post Comment" button/form that will no longer work. What happens if
you click it? Undefined...
Conversation mixup between CommentHome instances
------------------------------------------------
Key: JBSEAM-3041
URL:
http://jira.jboss.com/jira/browse/JBSEAM-3041
Project: Seam
Issue Type: Bug
Components: Wiki
Reporter: Christian Bauer
Assigned To: Christian Bauer
Priority: Blocker
"I opened multiple different threads in separate tabs. Replied to the first one,
(Saved there). Then when clicking on reply in the second tab the page was replaced by a
reply-page for the first thread."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira