From d7be45c508624e7c11add814d2c626eb2178899e Mon Sep 17 00:00:00 2001 From: Boris Bendyukov Date: Fri, 17 Jan 2014 07:30:48 +0000 Subject: [PATCH] StateManagerImpl.java edited online with Bitbucket --- .../core/bpel/persist/impl/StateManagerImpl.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ojc-core/bpelse/bpelcore/src/com/sun/jbi/engine/bpel/core/bpel/persist/impl/StateManagerImpl.java b/ojc-core/bpelse/bpelcore/src/com/sun/jbi/engine/bpel/core/bpel/persist/impl/StateManagerImpl.java index c76327c6d..8cd70d104 100755 --- a/ojc-core/bpelse/bpelcore/src/com/sun/jbi/engine/bpel/core/bpel/persist/impl/StateManagerImpl.java +++ b/ojc-core/bpelse/bpelcore/src/com/sun/jbi/engine/bpel/core/bpel/persist/impl/StateManagerImpl.java @@ -393,8 +393,22 @@ public class StateManagerImpl implements StateManager { String partnerlink = qCRMPDBO.getPartnerLink(); String oper = qCRMPDBO.getOperation(); String crmpUpdateListValue = bpId + partnerlink + oper; + String crmpInvokeId = qCRMPDBO.getCRMPInvokeId(); + long replyVarId = qCRMPDBO.getReplyVariableId(); + String msgExch = qCRMPDBO.getBpelMessageExchange(); + BPELProcessInstanceImpl instImpl = (BPELProcessInstanceImpl) processInstance; instImpl.addToCRMPUpdateList(crmpUpdateListValue); + + if (replyVarId == -1) { + RBPELProcess proc = instImpl.getBPELProcessManager().getBPELProcess(); + RStartElement actStart = proc.getStartElement(partnerlink, oper, msgExch); + RVariable rVar = actStart.getRVariable(); + RuntimeVariable runVar = instImpl.getRuntimeVariable(rVar); + + MessageContainer con = MessageContainerFactory.createMessage(msgExch, runVar.getWSMessage(), crmpInvokeId, null); + instImpl.getBPELProcessManager().addCRMPReqForRecoveringInsts(crmpUpdateListValue, con); + } } } } catch (Throwable t) {