2 Replies Latest reply on Aug 3, 2011 11:20 AM by Jim McCarthy

    GAE and state saving method

    Stephan Grüter Newbie



      I am a bit confused about the preferred state saving method (javax.faces.STATE_SAVING_METHOD) for RichFaces 4 on

      Google App Engine.


      The maven archetype to build a gae richfaces project used to use server state saving and Mojarra as JSF implementation while in beta,

      but switched to client state saving and Myfaces in final. Why?


      On the other hand the RichFaces showcase running on GAE is still using server state saving and Mojarra. Why?


      Are there any known problems with server state saving on GAE and RichFaces 4?


      Is server state saving only possible with Mojarra - I couldn't get it to work with MyFaces (SessionExpiredException on first page access).


      Thanks for any further information.

        • 1. GAE and state saving method
          Ilya Shaikovsky Master
          On the other hand the RichFaces showcase running on GAE is still using server state saving and Mojarra. Why?

          not true about state saving - it uses client side.


          And the differences caused by:

          • client state saving set for all apps gae profiles because session scoped data not correctly replicated at GAE. And you could try the same without richfaces (just plain JSF 2 with ajax) and will see much problems there. We could not influence JSF-GAE compatibility problems.
          • Mojara used for showcase because current myFaces release has issue which breaks RF fileUpload and we do not want show it broken so awaiting MyFaces fix to update showcase profile.
            • Mojara 2.0.3 and not 2.0.4 used because 2.0.4 has more issues in general with GAE which causes ajax requests(including JSF 2 standard ajax to be broken)
          • But in general MyFaces is more stable at GAE environment so we added it as default for archetype so the users who will create new apps will play with more stable JSF impl with the only issue with fileUpload.


          So really compatibility of JSF 2 and GAE really not in good shape and we need to play much with different issues with every new JSF 2 release and GAE sdk update when deploying our demos.

          • 2. Re: GAE and state saving method
            Jim McCarthy Newbie



            Great summary of the issues. I just wish I had read this summary a few weeks ago since I just struggled with the same issues and came to the same conclusions. I am still struggling with the ViewState expiration issue. All of my pages are JSF2 with Richfaces and multiple forms since I use a template for implementing different themes.


            It seems that anytime an AJAX request is made the view state of the forms that are not effected by the ajax request can expire. Is there any fix to this issue other than updating all forms? I cannot go to a single form since that would have problems with data entry forms.