1 Reply Latest reply on Apr 5, 2007 5:17 PM by raffaele camanzo

    Explicit Conversation Id Question

    Jason Long Master

      I have the following code in a CONVERSATION scope SFSB and I have two questions.

      1. Why is my conversation id always "size" and the selected size is never taken into account?

      2. If I am already in another long running conversation, but I would actually like to switch to a new one with id "size". How can I achieve this without a "begin method called from a long running conversation" exception? I tried join=true, but that make is join the conversation already in progress. What I want is for a new one to be started with this id or join on if there is one with this id already.


      I am using Seam 1.2.0 patch1

       @Out(scope = ScopeType.UNSPECIFIED, required = false)
       @DataModelSelection
       private Size sizeEdit;
      
       @Begin(id="size#{sizeEdit.id}")
       public String select()
       {
       log.info("selected" + sizeEdit.getId());
       getList();
       return defaultAction;
       }
      


        • 1. Re: Explicit Conversation Id Question
          raffaele camanzo Newbie

          If I understood well, it seems that Seam 1.2.1 disables explicitly something wrong in the Seam logics.

          You should start a LRC always when there's no LRC active, i.e. no LRC switch available. Anyway, I solved my problems (because I faced the same app break some days ago) avoiding explicitly the propagation using <s:conversationPropagation type="none"/> in the links to the begin method (I guess the solution in the workspace management's conversation switch).

          I experienced a problem also with this approach, you can find the details in my last two posts in this topic:

          http://www.jboss.com/index.html?module=bb&op=viewtopic&t=105311

          if you face the same.. maybe you do the same coding error as me.. maybe not.

          Another hint: It's a matter of time, but @Begin(id="") is going to be deprecated, there's a new way to define the conversation identifier explicitly in the pages.xml, also called business key definition, you can find the details here:

          http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4033263

          Regards,
          Raffaele Camanzo