Author: objectiser
Date: 2011-02-22 09:46:49 -0500 (Tue, 22 Feb 2011)
New Revision: 1310
Modified:
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
Log:
RIFTSAW-345 - termination handler now invoked. Minor updates related to merging with ODE
1.4-SNAPSHOT, and not performing termination handler if scope has a fault.
Modified:
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
===================================================================
---
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java 2011-02-21
18:35:10 UTC (rev 1309)
+++
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java 2011-02-22
14:46:49 UTC (rev 1310)
@@ -272,11 +272,13 @@
// We're done with the main work, if we were terminated, we will
// need to load the termination handler:
if (_terminated) {
- __log.debug("Scope: " + _oscope + " was
terminated.");
+ if (__log.isDebugEnabled()) {
+ __log.debug("Scope: " + _oscope + " was
terminated. (fault="+_fault+")");
+ }
// ??? Should we forward
- // If termination handler defined
- if (_oscope.terminationHandler != null) {
+ // If termination handler defined, and the scope has not faulted
+ if (_oscope.terminationHandler != null && _fault == null) {
// We have to create a scope for the catch block.
BpelRuntimeContext ntive = getBpelRuntimeContext();
@@ -286,7 +288,7 @@
ScopeFrame terminationHandlerScopeFrame = new
ScopeFrame(_oscope.terminationHandler,
ntive.createScopeInstance(_scopeFrame.scopeInstanceId,
_oscope.terminationHandler),
- _scopeFrame, CompensationHandler.emptySet(), null);
+ _scopeFrame, CompensationHandler.emptySet(),
(FaultData)null);
// Create the temination handler scope.
instance(new
SCOPE(terminationHandlerActivity,terminationHandlerScopeFrame, SCOPE.this._linkFrame));
Show replies by date