You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/08/20 20:19:18 UTC

svn commit: r687407 - /ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java

Author: mriou
Date: Wed Aug 20 11:19:18 2008
New Revision: 687407

URL: http://svn.apache.org/viewvc?rev=687407&view=rev
Log:
ODE-263 onAlarm is trigered only after completed activity.

Modified:
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java?rev=687407&r1=687406&r2=687407&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java Wed Aug 20 11:19:18 2008
@@ -102,7 +102,7 @@
                     outboundMsg, invokeResponseChannel);
 
                 object(new InvokeResponseChannelListener(invokeResponseChannel) {
-                    private static final long serialVersionUID = 4496880438819196765L;
+                    private static final long serialVerstmptmpionUID = 4496880438819196765L;
 
                     public void onResponse() {
                         // we don't have to write variable data -> this already
@@ -189,7 +189,28 @@
                         }
                         getBpelRuntimeContext().releasePartnerMex(mexId);
                     }
-                });
+
+                }.or(new TerminationChannelListener(_self.self) {
+                    private static final long serialVersionUID = 4219496341785922396L;
+
+                    public void terminate() {
+                    	_self.parent.completed(null, CompensationHandler.emptySet());
+                    	object(new InvokeResponseChannelListener(invokeResponseChannel) {
+                        private static final long serialVersionUID = 688746737897792929L;
+						public void onFailure() {
+							__log.debug("Failure on invoke ignored, the invoke has already been terminated: " + _oinvoke.toString());
+						}
+						public void onFault() {
+                            __log.debug("Fault on invoke ignored, the invoke has already been terminated: " + _oinvoke.toString());
+						}
+						public void onResponse() {
+                            __log.debug("Response on invoke ignored, the invoke has already been terminated: " + _oinvoke.toString());
+						}
+
+                    });
+                    }
+                }));
+;
             }
         } catch (FaultException fault) {
             __log.error(fault);