OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [wsbpel] Issue - R8 - Proposal For Vote



Hi all,

I think I need to add one more clarification for a negative case. (underlined)

The follow changes applies to in Bullet 4 of Section12.7: (changes are highlighted in GREEN)
============================
The compensation handler for an isolated scope does not share the isolation domain of the associated scope. The isolation domain ends and the scope snapshot is created when the normal processing of that isolated scope completes. Afterwards, the compensation handler is installed. The compensation handler actually shares the isolation domain of the invoking activities (i.e. <compensate> / <compensateScope>) or implicit invoking FCT-handler of the immediately enclosing scope, when the invoker of the compensation handler is already within an isolation domain. (See scope "FH_A" in the following examples.) If the invoker of the compensation handler is not within an isolation domain, the execution of the compensation handler for an isolated associated scope will be implicitly isolated. Such an implicit isolation domain ends when the execution of such a compensation handler ends. (See scope "FH_P" and scope "Q".) If the invoker of the compensation handler is already within an isolation domain and the invoked compensation handler is associated with an isolated scope, such a scope definition is one of cases of nested isolation and MUST be disallowed by static analysis. (See also [SA00091])

-----------------------------
 <scope name="A">
       <faultHandler>
             <catchAll>
                   <scope name="FH_A" isolated="true"
>
                         <sequence>
                             ...
                            <compensate />
                             ...
                         </sequence>
                   </scope>
          </catchAll>
    </faultHandler>
    <sequence>
          ...
          <scope name="B">
              <compensateHandler>
                  <sequence name="undoB_Seq">
                     ...
                  </sequence>
              <compensateHandler>
              <sequence name=doB_Seq">
              </sequence>
          </scope>
          ...
    </sequence>
</scope>

-----------------------------

In the above example, the <compensate/> activity will invoke the compensationHandler of scope "B" (which performs sequence "undoB_seq") in the isolation domain of scope "FH_A".

-----------------------------
 <scope name="P">
       <faultHandler>
             <catchAll>
                   <scope name="FH_P">
                         <sequence>
                             ...
                            <compensate />
                             ...
                         </sequence>
                   </scope>
          </catchAll>
    </faultHandler>
    <sequence>
          ...
          <scope name="Q" isolated="true"
>
              <compensateHandler>
                  <sequence name="undoQ_Seq">
                     ...
                  </sequence>
              <compensateHandler>
              <sequence name=doQ_Seq">
                  ...
              </sequence>
          </scope>
          ...
    </sequence>
</scope>

-----------------------------

In the above example, the <compensate/> activity is NOT already within an isolation domain (say assuming scope "P" is the root scope of the process).  The execution of the CH of scope-Q will be isolated automatically. This isolation domain ends when the execution of the CH of scope "Q" ends.

============================


I guess that is the final iteraton of this proposal.

And, this change would qualify a substantive change.


Thanks!


Regards,
Alex Yiu





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]