Author: mriou
Date: Wed Aug 20 11:23:42 2008
New Revision: 687410

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

Modified:
    
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/INVOKE.java

Modified: 
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/INVOKE.java
URL: 
http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/INVOKE.java?rev=687410&r1=687409&r2=687410&view=diff
==============================================================================
--- 
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/INVOKE.java
 (original)
+++ 
ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/INVOKE.java
 Wed Aug 20 11:23:42 2008
@@ -180,7 +180,27 @@
                         
_self.parent.failure(getBpelRuntime().getPartnerFaultExplanation(mexId), null);
                         getBpelRuntime().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);


Reply via email to