ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 王雷 <mail.lei.w...@gmail.com>
Subject Questions About Correlation Sets
Date Tue, 14 Jun 2011 21:58:24 GMT
Hi,


    I have a question about Correlation Sets. If I design a client
orchestration as the following:
<process ...>
    ...
    <invoke name="invoke1" operation="o1"...>
        <correlations>
            <correlation set="c1" pattern="request-response".../>
        </correlations>
    </invoke>
    <invoke name="invoke2" operation="o1"...>
        <correlations>
            <correlation set="c1"... pattern="request-response".../>
        </correlations>
    </invoke>
</process>

    The feature is that I make the two invoke activities ("invoke1" and
"invoke2") invoke the same operation "o1" for two times.
    For the server side, I design this way:
<process ...>
    <receive name="receive1" operation="o1" createInstance="yes">
        <correlations>
            <correlation set="c1" pattern="request-response".../>
         </correlations>
    </receive>
    <reply .../>
    <receive name="receive1" operation="o1" createInstance="no">
         <correlations>
             <correlation set="c1" pattern="request-response".../>
         </correlations>
     </receive>
     <reply .../>
<process>
    The feature is that I make the orchestration receives the two
invocations one by one.
    When the first message sent and received by the receiver, a new instance
created and everything is OK.
    After that I find strange things happens. When the client send the
second invocation message, which is the same to the first invocation
message, for the server part, as I expected, the message is still in a
correlationset and the engine should route the message to the currently
existing instance.
    However, the actual behavior is: the engine route the message to the
currently existing instance, then the engine create a new instance and also
routes the message to the newly created message. Finally, when both
orchestrations deployed and tested, it ends up with one completed client
instance but two server instance, one in complete state but the other ends
up with active state waiting for a message which will never come.
    As I didn't find any information in BPEL specification about this. I
want to ask whether this is expected behavior or a bug? Thanks.



    Best Regards


                 Lei

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message