1 Reply Latest reply on Mar 26, 2010 12:35 AM by kragoth

    Seam Conversation = END, creates a new one

    soares

      Hi,


      I´m developing a web site, with no Conversations. I won´t use this feature. So to make sure that I would never use it,
      I include in all my links '<s:link>', the 'propagation=END'. But I see that if I have no conversation active, when I call
      'propagation=END' the Seam creates a new one, every time. So, now I changed to 'propagation=NONE'... But my question is about
      the 'propagation=END': If I have no conversation active, and call for 'propagation=END', why this call is not just ignored?
      Why do Seam creates a new conversation? I think the right behavior should be just ignore...


      Thank you!

        • 1. Re: Seam Conversation = END, creates a new one
          kragoth

          Take some time to read the Seam documentation.


          You cannot use Seam without using conversations. Every request/response happens inside a conversation. The difference is that these conversations are only temporary conversations and not long running.


          You do not need to put any propagation=NONE or END in any of your links unless you have put the @Begin annotation in your beans on one of your methods somewhere (or started a long running conversation with propagation=BEGIN or any other way of promoting a temporary conversation to long running). If you never promote a temp conversation to long running then it is basically the same as the EVENT scope. (Do more reading on this to get all the details).


          So, without promoting a conversation to long running, then each request should be in a new conversation without any interaction from you.



          So, summing up.



          1. Seam is always using conversations

          2. Conversations are temporary unless your specifically promote them to long running.

          3. You do not need to use propagation=VALUE unless you are using long running conversations





          Now, all that being said. My app is done completely with long running converstaions, so my level of knowledge about not using long running conversations is probably not the best. So, if someone picks up something that I have said and it's wrong, please correct me. :)