[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [wsbpel] Issue 135 - Proposal to vote
|
It is not necessarily true that a scope will be forced to terminate only once. If we do premature completion with a completion handler then a fault in the completion handler may cause an attempt to forcibly terminate a scope more than once.
From: Alex Yiu [mailto:alex.yiu@oracle.com]
thanks
From: Danny van der Rijn [mailto:dannyv@tibco.com]
i misinterpreted some subleties in the proposal.
i withdraw my comments. ?? The forcedTermination fault handler was able to do compensation. Why isthis a change? No, the fact that the process does not have a termination handler isdeliberate since we do not have a notion of forced termination of aprocess instance. I deliberately moved <terminate/> to <exit/> to makethat clear. This proposal actually changes absolutely nothing semantically. Itsimply changes syntax. -----Original Message-----From: Danny van der Rijn [mailto:dannyv@tibco.com] Sent: Friday, September 24, 2004 8:31 AMTo: Satish ThatteCc: wsbpel@lists.oasis-open.orgSubject: Re: [wsbpel] Issue 135 - Proposal to vote i don't like the idea of the default termination handler performing compensation. this part is an addition, rather than a syntactic substitution, and i think it falls on the wrong side of the meaning of default. also, i assume that the fact that a process doesn't have a termination handler is an inadvertent omission? danny Satish Thatte wrote:
a normal fault. It is simply a way to permit interception of forcedtermination by a scope to perform special handling to shut the scopedown in an orderly manner. The differences from a normal fault includethe inability to be caught by a catchAll handler, and the inability tothrow or rethrow any fault within the handler. It is thus proposed thatwe eliminate the notion of a bpws:forcedTermination fault from thespecification and replace it with a notion of a special handler forforced termination. A secondary part of the proposal is to replace the<terminate/> activity with an <exit/> activity with identical semantics,simply to avoid terminological confusion with the notion of forcedtermination.
A, eliminate the mention of bpws:forcedTermination and remove this tokenfrom the bpws namespace.
termination to some degree. When the activity being terminated is infact a scope, the behavior of the scope is interrupted and the faulthandler for the standard bpws:forcedTermination fault is run. Note thatthis applies only if the scope is in normal processing mode. If thescope has already experienced an internal fault and invoked a faulthandler, then as stated above, all other fault handlers including thehandler for bpws:forcedTermination are uninstalled, and the forcedtermination has no effect. The already active fault handler is allowedto complete.
other fault handlers, but this fault handler cannot rethrow any fault.Even if an uncaught fault occurs during its behavior, it is not rethrownto the next enclosing scope. This is because the enclosing scope hasalready faulted, which is what is causing the forced termination of thenested scope.
by implicitly (recursively) terminating all activities directly enclosedwithin its associated scope that are currently active. It can invokecompensate activities. And when it is missing, it is provided by usingthe same implicit behavior that is used for all other implicit faulthandlers.
order as a result of the rule (quoted above) that the behavior of anyfault handler begins by implicitly (recursively) terminating allactivities directly enclosed within its associated scope that arecurrently active.
termination to some degree. When the activity being terminated is infact a scope, the forced termination of a scope begins by terminatingall activities directly enclosed within its associated scope that arecurrently active. Following this, the custom termination handler forthe scope, if present, is run. If the custom termination handler ismissing, the default termination handler performs compensation of allsuccessfully completed nested scopes in the same order as in the case ofa default fault handler.
processing mode. If the scope has already experienced an internal faultand invoked a fault handler, then the termination handler isuninstalled, and the forced termination has no effect. The alreadyactive fault handler is allowed to complete.
of activities as a fault handler, including the <compensate/> activity.However, a termination handler cannot throw any fault. Even if anuncaught fault occurs during its behavior, it is not rethrown to thenext enclosing scope. This is because the enclosing scope has alreadyeither faulted or is in the process of being terminated, which is whatis causing the forced termination of the nested scope.
a result of the rule (stated above) that the termination handler is runafter terminating all activities (including scope activities) directlyenclosed within its associated scope that are currently active.
of the OASIS TC), go tohttp://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]