4 Replies Latest reply on Jun 17, 2008 2:01 AM by Jeff Yu

    Remove RetrieveSessionAction from conversation based Actions

    Jeff Yu Master

      Originally, there was an action called "RetrieveSessionAction" which is in the first action pipeline for every service in the POC. The properties of this action contain is 1) the "identity" for retrieving the Session for "Message Link", and also 2) contain the current "service-category" and "service-name" to unschedule.

      for the 2) point, we can get the current "service-category" and "service-name" from the configTree.getParent(), so for any conversation based action, we will determine if it is the first conversation based action, if it is, we will get the "service-category" and "service-name" and then get it unscheduled. There is no issue with this right now.

      For the 1) point, if we remove the "RetrieveSessionAction", we still need to have the "Identity" information in the Actions somewhere. otherwise, we are unable to get the session for the "message link"[1]. Currently, yes, we almost have "ReceiveMessageAction" for every "message link", but that is an occasion that we will just have the "SwitchAction", wich means the received message type would be either types that defined in the "SwitchAction", right now, this action doesn't have the "identity" information, that is where I still need the "RetrieveSessionAction" in the POC[2].

      So here, I'd like to say that "message link" action, which can be validated the incoming message in one way, include the "ReceivedMessageAction" and "SwitchAction". For these two actions, it needs to be shown in the first action pipeline, and will have the "Identity" information, unschedule the "current service" function as well. Provided this, we can remove the "RetrieveSessionAction".



      [1]: "Message Link" is the situation that "A" participant will send a message to "B" participant to make the business flow continue. Because the exchanged message won't contain any conversation information but the "Identity".

      [2] http://anonsvn.jboss.org/repos/soag/trunk/samples/esb/purchasing/