3 Replies Latest reply on Jan 3, 2006 6:25 PM by Gavin King

    Breaking change

    Gavin King Master

      I finally got round to deciding what I wanted to do about


      The choice I made is to, by default, throw an exception when an @Begin method is called in the scope of an existing conversation.

      This is the best default, since the risk of having unrelated conversations "accidently" propagated is a just too high, and results in very subtle bugs.

      If you want to get the previous default behavior, where the existing conversation context is simply propagated, just say @Begin(join=true)

      Sorry for the breakage here.

      Does anyone strongly disagree with my cost/benefit analysis here?

      Can anyone think of a much more intuitive name for this than join() ?

        • 1. Re: Breaking change
          Gavin King Master

          By the way, I am following a policy of choosing very conservative default behaviors, hence, @In defaults to (required=true, create=false) and @Begin defaults to (join=false).

          The idea here is that Seam applications will fail early, with meaningful messages and so be that much easier to debug.

          • 2. Re: Breaking change
            drapierwimATgmailDOTcom Newbie

            As a result of my http://www.jboss.com/index.html?module=bb&op=viewtopic&t=74806
            earlier post I didn't know we could make suggestions for the join() name.

            First the join confused me of thinking that it can be 'joined' with else...(silly me)

            so I'm thinking of
            reuseConversation ... maybe to long but direct to the point
            reuse ... probally to abstract(you could ask yourself reuse what?)
            same(Conversation) ... I don't know
            single... prrf
            maybe previous is more like it for me

            @Begin(unique=true) reads like 'Begin an unique conversation'

            Took me some time for thinking an posting this, so don't shoot me if it's a silly answer

            • 3. Re: Breaking change
              Gavin King Master

              It is more a question of propagation, than of "reuse".

              And I don't think "unique" really captures it :)

              It's actually analogous to Transaction Required.