Hi milesif,
the problem you are facing is due to a misunderstanding of the Seam explicit conversation
id feature, and it worked before the 1.2.1GA for a missing check. I know it very well
because happened to me too, what you expect to do specifying:
@Begin(id="", join=true)
is wrong (better, not conforms to the Seam conversation management), because you want to
switch between LRCs and this is not possible, indeed, you can start a new long running
conversation *only* out of any other LRC.
What happens now in your code (and you can see it watching the debug information of your
server) is: Seam intercepts that you are trying to make concurrent calls and creates a
temporary conversation and does not promote it at the end of the request... but trashes.
If your design allows it, you can avoid it avoiding to propagate the conversation when you
want to start a LRC in a way similar to:
| <s:link action="#{machineManager.start}" value="...">
| <s:conversationPropagation type="none" />
| </s:link>
|
if you don't want to end the conversation you are in (none does not end the
conversation you are leaving, then you can refer to that LRC later, but not arriving from
a LRC :) ).
Moreover, you should plan to migrate to the new business key way to define the explicit
conversation ids in a natural way (this because id definition in the @Begin could be
deprecated really soon), this is not officially released and undocumented, but if you want
have a glance see:
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4033263
Regards,
Raffaele Camanzo
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034070#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...