3 Replies Latest reply on Oct 26, 2007 6:25 AM by Pete Muir

    Question on conversation...

    Madhav Inamti Novice

      I have a question on conversations...

      If a user click starts a conversation and the user decides that this is not he/she wants to do and clicks on something else and that starts another conversation ..

      1. How do these conversations end if the user does not come back to generate a click that invokes the method with @End annotation?

      2. Is there a limit to the number of conversations, one can start?

      3. What is the performance overhead of maintaining all these conversation contexts... If the stateful bean passivates and the need to activate them? Are there any performance numbers for Seam?

      Thanks,

      M

        • 1. Re: Question on conversation...
          Jacob Orshalick Apprentice

           

          1. How do these conversations end if the user does not come back to generate a click that invokes the method with @End annotation?


          Conversations will timeout after a configurable time period. Any conversation that is not the foreground conversation (the current conversation with the user), will timeout after the timeout period. In addition, conversations will timeout with the session.

          2. Is there a limit to the number of conversations, one can start?


          Not that I am aware of. I remember seeing a thread that discussed adding this as a feature, but I have not seen any JIRA issues for it.

          3. What is the performance overhead of maintaining all these conversation contexts... If the stateful bean passivates and the need to activate them? Are there any performance numbers for Seam?


          I have not seen or performed any performance testing with respect specifically to conversations (maybe someone else has). If you decide to run any performance tests I'm sure everyone would appreciate if you post your results :)

          • 2. Re: Question on conversation...
            Gus Gu Expert

             

            "jacob.orshalick" wrote:
            1. How do these conversations end if the user does not come back to generate a click that invokes the method with @End annotation?


            Conversations will timeout after a configurable time period. Any conversation that is not the foreground conversation (the current conversation with the user), will timeout after the timeout period. In addition, conversations will timeout with the session.
            The problem is that before the conversation timeout, if the user immediately click another @Begin to start another conversation, the system will down and throw exception which requires @Begin(join=true). I have been looking for a long time on the forum, but couldn't get the solution.

            • 3. Re: Question on conversation...
              Pete Muir Master

              As I explained to you in another thread you will only get that exception *if* you are already in another long running conversation when you attempt to @Begin another long running conversation.

              The solution is to design your app properly (the most common pattern is to not propagate the conversation between areas of your application.