You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Stephen Friedrich (JIRA)" <de...@myfaces.apache.org> on 2007/09/27 09:27:50 UTC

[jira] Created: (MYFACES-1733) Server-side state saving not working correctly

Server-side state saving not working correctly
----------------------------------------------

                 Key: MYFACES-1733
                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 1.1.5
            Reporter: Stephen Friedrich


Sometimes when using server-side state-saving some state is fixed and won't ever update.
I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.

Here is how to reproduce reliably with one of the Seam example applications:

- download and unzip tomcat 5.5.
- download and unzip JBoss Seam 1.2.1.
- edit <seam-install-folder>/build.properties and specify the path to tomcat
- edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
- run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
- open http://localhost:8080/jboss-seam-pay
- try to click on different accounts.
=> Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 

I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Mario Ivankovits (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533421 ] 

Mario Ivankovits commented on MYFACES-1733:
-------------------------------------------

I don't see how this patch will fix this issue. Did you try it?

facesContext.getExternalContext().getRequestParameterMap().isEmpty() retruns true only if there is no GET NOR a POST parameter.

So in case of a postback you'll have at least the minimum view state required to lookup the view state on the server - you'll always have at least one POST parameter, except if you access a view directly, but then there is also no STANDARD_STATE_SAVING_PARAM.

But maybe I miss something here?
Sorry then ;-)


> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Michael Kurz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533443 ] 

Michael Kurz commented on MYFACES-1733:
---------------------------------------

I tried it and it works for me.

The problem is just the other way round. The point is that this special link in the Seam example app is not a postback but MyFaces does not notice this with server state saving enabled. RestoreViewExecutor only calls renderResponse if no parameters exist but Seam specifies some parameters of its own and therefore renderResponse is not called. This further leads to Seam not reading the specified parameter as it only does this if renderResponse was called.

I hope I made myself clear.

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Michael Kurz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533628 ] 

Michael Kurz commented on MYFACES-1733:
---------------------------------------

You're right, it is not a special link but MyFaces got confused with the combination of this link and the request parameter with server-state-saving enabled.

Restore view is just the name of the first phase in the JSF lifecycle.

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Mario Ivankovits (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533452 ] 

Mario Ivankovits commented on MYFACES-1733:
-------------------------------------------

Ah - ok - now I get it - Thanks!
Yep, then this could work.

Need to wait for someone else to comment here, but I think the patch should make it.

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534371 ] 

Martin Marinschek commented on MYFACES-1733:
--------------------------------------------

Well, in any case, the wording of the spec, taken exactly as it is written, leads to this behaviour here - even though the intent is very clear, and the fix is of course correct.

Thanks to Michael Kurz for sorting this out.

regards,

Martin

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) Server-side state saving not working correctly

Posted by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530674 ] 

Martin Marinschek commented on MYFACES-1733:
--------------------------------------------

I have never seen this problem without Seam. Can you give us more pointers to discussions on this on the Seam mailing lists? I know MyFaces server-side state-saving pretty well, and it is very similar to what the RI does.

regards,

Martin

> Server-side state saving not working correctly
> ----------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.5
>            Reporter: Stephen Friedrich
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Michael Kurz (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Kurz updated MYFACES-1733:
----------------------------------

    Status: Patch Available  (was: Open)

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Marinschek updated MYFACES-1733:
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2.1-SNAPSHOT
                    1.1.6-SNAPSHOT
         Assignee: Martin Marinschek
           Status: Resolved  (was: Patch Available)

Thanks to Michael Kurz for fixing this (please checkout the 1.2 head, if my change there works properly as well).

regards,

Martin

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Assignee: Martin Marinschek
>            Priority: Critical
>             Fix For:  1.1.6-SNAPSHOT, 1.2.1-SNAPSHOT
>
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Michael Kurz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533372 ] 

Michael Kurz commented on MYFACES-1733:
---------------------------------------

The problem seems to be that Seam uses a GET-Parameter for navigation. But those parameters are only read by Seam if renderResponse is called in the restore-view-phase. This only happens if no previous state is available (with client state saving) or if there are no POST- or GET-Parameters at all (should happen for server state saving).

I provided a patch for 1.1.6 where renderResponse is called if there is no special view state parameter. This should fix the server state saving problem with seam.

> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) Server-side state saving not working correctly

Posted by "Matthias Weßendorf (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530651 ] 

Matthias Weßendorf commented on MYFACES-1733:
---------------------------------------------

<snip>
It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead. 
</snip>

can you give us an URL ?

> Server-side state saving not working correctly
> ----------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.5
>            Reporter: Stephen Friedrich
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) [Seam] Server-side state saving not working correctly

Posted by "Stephen Friedrich (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533477 ] 

Stephen Friedrich commented on MYFACES-1733:
--------------------------------------------

Hm, I don't know JSF internals as well as you, but I just can't understand what is really going on here:
The "special link" is not special at all. It is a simple link (<a href=...) that specifies a request parameter (rather than a JSF command link that posts a form).
That's Seam's way of implementing RESTful URLs, but there's very little "seamish" going on here - the app would break as well (bad?) if a html link would be hardcoded here.

Why at all is code involved that handles a "Restore View" - from my err, preliminary understanding of JSF I would have thought that a new view gets created.


> [Seam] Server-side state saving not working correctly
> -----------------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5,  1.1.6-SNAPSHOT
>            Reporter: Stephen Friedrich
>            Priority: Critical
>         Attachments: jira1733-patch.zip
>
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-1733) Server-side state saving not working correctly

Posted by "Stephen Friedrich (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530948 ] 

Stephen Friedrich commented on MYFACES-1733:
--------------------------------------------

It may well be that it is only Seam that triggers the bug - yet there is a strong argument that the bug is in fact in MyFaces server-side state saving:
The problem goes away if you switch to either client-side state saving or use the RI.

Martin, if you are familiar with MyFaces' server-side state saving it should not be to hard to find the culprit.
I gave a reliable way to reproduce the problem - see above.

Matthias, here are some references to the problem (for what it's worth):

In previous versions of the Seam reference MyFaces was explicitly mentioned. Now it's in milder form:
"Some JSF implementations have a broken implementation of server-side state saving that interferes with
Seam's conversation propagation. If you have problems with conversation propagation during form submissions,
try switching to client-side state saving."

The problems manifests in a couple of Jira issues, like this one:
http://jira.jboss.com/jira/browse/JBSEAM-1293
Gavin King:
"Right, this is a known bug in MyFaces. Nothing we can do about it, except get off MyFaces and migrate to the RI (which we already did do)."

If you search the forum you'll find many people having problem with MyFaces/Seam. Some of the posts are quite old, but the integration problem still persists:

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=73933
gavin.king@jboss.com
"Right, this is a known limitation of using Seam with MyFaces, due to how MyFaces does server-side state saving (I'm not going to call it an actual *bug* in MyFaces, but it is suboptimal)."

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=106197
pete.muir@jboss.org:
"Don't use server side state saving, Seam, and MyFaces - it doesn't work. You should use the RI 1.2 if you can - it's much better. You can use JSF 1.2 with facelets in a 2.4 servlet container."

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=108488
christian.bauer@jboss.com:
"Do not use server-side state saving with MyFaces, it's buggy. This has been reported before (search the forum) and your problems with page parameters will go away if you switch to client-side state saving or the JSF reference implementation."

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=115728
norman.richards@jboss.com: 
"There were known problems with server side state saving in myfaces. I think you'll need to move to the JSF RI to make it work correctly with seam"


> Server-side state saving not working correctly
> ----------------------------------------------
>
>                 Key: MYFACES-1733
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1733
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.5
>            Reporter: Stephen Friedrich
>
> Sometimes when using server-side state-saving some state is fixed and won't ever update.
> I don't know how exactly this is caused, but it occurs a lot when using JBoss Seam.
> It is consensus in the Seam community not to ever use myfaces with server-side state saving or even better not to use myfaces, but the RI instead.
> Here is how to reproduce reliably with one of the Seam example applications:
> - download and unzip tomcat 5.5.
> - download and unzip JBoss Seam 1.2.1.
> - edit <seam-install-folder>/build.properties and specify the path to tomcat
> - edit <seam-install-folder>/examples/seampay/resources/WEB-INF/web.xml and change state saving method to server.
> - run ant deploy.tomcat from <seam-install-folder>/examples/seampay/
> - open http://localhost:8080/jboss-seam-pay
> - try to click on different accounts.
> => Only the first selection ever will make it. All others are ignored. Change back to client side state saving and everything works ok. 
> I tried to look into this, but I am way over my head here with the internals of JSF and MyFaces.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.