You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/04/14 00:01:32 UTC

svn commit: r933800 - /ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java

Author: rr
Date: Tue Apr 13 22:01:31 2010
New Revision: 933800

URL: http://svn.apache.org/viewvc?rev=933800&view=rev
Log:
ODE-571: Instance work done within newest process version after receiving request to a retired instance (fix)

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

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java?rev=933800&r1=933799&r2=933800&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java Tue Apr 13 22:01:31 2010
@@ -211,14 +211,15 @@ public class PartnerLinkMyRoleImpl exten
     public void invokeInstance(MyRoleMessageExchangeImpl mex, RoutingInfo routing) {
         Operation operation = getMyRoleOperation(mex.getOperationName());
         if (__log.isDebugEnabled()) {
-            __log.debug("INPUTMSG: " + routing.correlator.getCorrelatorId() + ": ROUTING to instance "
+            __log.debug("INPUTMSG: " + routing.correlator.getCorrelatorId() + ": ROUTING to existing instance "
                     + routing.messageRoute.getTargetInstance().getInstanceId());
         }
 
         ProcessInstanceDAO instanceDao = routing.messageRoute.getTargetInstance();
+    	BpelProcess process2 = _process._engine._activeProcesses.get(instanceDao.getProcess().getProcessId());
 
         // Reload process instance for DAO.
-        BpelRuntimeContextImpl instance = _process.createRuntimeContext(instanceDao, null, null);
+        BpelRuntimeContextImpl instance = process2.createRuntimeContext(instanceDao, null, null);
         instance.inputMsgMatch(routing.messageRoute.getGroupId(), routing.messageRoute.getIndex(), mex);
 
         // Kill the route so some new message does not get routed to
@@ -226,16 +227,16 @@ public class PartnerLinkMyRoleImpl exten
         routing.correlator.removeRoutes(routing.messageRoute.getGroupId(), instanceDao);
 
         // send process instance event
-        CorrelationMatchEvent evt = new CorrelationMatchEvent(new QName(_process.getOProcess().targetNamespace,
-                _process.getOProcess().getName()), _process.getProcessDAO().getProcessId(),
+        CorrelationMatchEvent evt = new CorrelationMatchEvent(new QName(process2.getOProcess().targetNamespace,
+        		process2.getOProcess().getName()), process2.getProcessDAO().getProcessId(),
                 instanceDao.getInstanceId(), routing.matchedKeySet);
         evt.setPortType(mex.getPortType().getQName());
         evt.setOperation(operation.getName());
         evt.setMexId(mex.getMessageExchangeId());
 
-        _process._debugger.onEvent(evt);
+        process2._debugger.onEvent(evt);
         // store event
-        _process.saveEvent(evt, instanceDao);
+        process2.saveEvent(evt, instanceDao);
 
         mex.setCorrelationStatus(MyRoleMessageExchange.CorrelationStatus.MATCHED);
         mex.getDAO().setInstance(routing.messageRoute.getTargetInstance());