6 Replies Latest reply on Mar 16, 2007 1:26 PM by codelion

    propagation

    codelion

      Seam reference 6.1 reads "Note that disabling conversation context propagation is absolutely not the same thing as ending the conversation."

      Thought I had figured the difference, but as something behaves funny, I thought maybe someone who knows could answer the question in positive terms: What is the difference?

      I'd guess "end" takes on off the stack, "none" removes all off the stack.

      But is there more of a difference?

      And can they both be used in all places or is there are limit on use on one versus the other?

        • 1. Re: propagation
          pmuir

          End causes the conversation to be demoted to a temporary conversation (which then ends at the end of the current request). None causes the conversation not to be propagated - if you looked at the conversation list on debug.xhtml or displayed a list of conversations to the user it would still be there (just not active). Inactive conversations timeout (set via components.xml).

          • 2. Re: propagation
            codelion

            That implies currently there isn't a "simple" way to "end all nested conversations without keeping them around", i.e. not at the level above Java coding. Or is there?

            • 3. Re: propagation
              gingming

               

              "codelion" wrote:
              That implies currently there isn't a "simple" way to "end all nested conversations without keeping them around", i.e. not at the level above Java coding. Or is there?


              Is this related to the feature request http://jira.jboss.com/jira/browse/JBSEAM-566 ?

              I'd like the ability to end all conversations as well.

              • 4. Re: propagation
                codelion

                A question then is:

                What's the different behavior then with the back-button in the browser, different for propagation "none" versus "end".

                Seam supposedly (and as far as I have seen) is quite gracious about using the browser back button and then continuing to work from there.

                But isn't that ability a bit dependent on the conversation still being around, either active or at least inactive?

                So then if "none" has been used and the conversation is "gone", what will happen when the user uses the back button and goes to where that conversation has been? A new conversation, if configured right?

                Where is the conversation stored anyway? Is that part of what we decide in web.xml to be javax.faces.STATE_SAVING_METHOD client or server? Or is the conversation independent of that? Always on server?

                If on client, then does "client" store one conversation, or all inactive conversations as well? Maximum size in theory and in some real use sizes?

                As summary question: Will the back button work better if we use "none", at higher cost of storing? Will the back button work less well if we use "end", but give benefit of less state being shuffled to client and back?

                • 5. Re: propagation
                  codelion

                  Much of the last question is answered in Seam reference "7.1.2. Seam and the back button".

                  • 6. Re: propagation
                    codelion

                    If you say what it isn't, also say what it is:

                    ### Eclipse Workspace Patch 1.0
                    #P jboss-seam
                    Index: doc/reference/en/modules/conversations.xml
                    ===================================================================
                    RCS file: /cvsroot/jboss/jboss-seam/doc/reference/en/modules/conversations.xml,v
                    retrieving revision 1.27
                    diff -u -r1.27 conversations.xml
                    --- doc/reference/en/modules/conversations.xml 27 Feb 2007 00:03:28 -0000 1.27
                    +++ doc/reference/en/modules/conversations.xml 16 Mar 2007 17:23:30 -0000
                    @@ -167,6 +167,12 @@
                     <para>
                     Note that disabling conversation context propagation is absolutely not the
                     same thing as ending the conversation.
                    + Ending causes the conversation to be demoted to a temporary conversation
                    + (which then ends at the end of the current request).
                    + None causes the conversation not to be propagated - if you looked at the
                    + conversation list on debug.xhtml or displayed a list of conversations to
                    + the user it would still be there (just not active).
                    + Inactive conversations timeout (set via components.xml).
                     </para>
                    
                     <para>


                    Thanks for explaining it, Pete.