[rules-users] FW: Nested flow terminating parent flow prematurely

Tom.E.Murphy at wellsfargo.com Tom.E.Murphy at wellsfargo.com
Tue Jun 2 11:15:25 EDT 2009


Thanks to Travis Scheponik for trying to help me resolve this. However, neither he nor I could figure it out.
Babak solved it here at the boot camp - the subprocesses should have their end nodes with terminate set to TRUE not false, and the parent process should invoke the subprocess with WaitForCompletion set to true.

This was the one combination we had not tried, and it worked.
Thanks, Babak.


Tom Murphy
Business Process Consultant
Wells Fargo HCFG - CORE Deal Decisioning Platform
800 S. Jordan Creek Parkway | West Des Moines, IA 50266
MAC: X2301-01B
Office: 515 324 4853 | Mobile: 941 320 8014
This message may contain confidential and/or privileged information.  If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein.  If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message.  Thank you for your cooperation.


_____________________________________________
From: Murphy, Tom E.
Sent: Thursday, May 28, 2009 8:54 AM
To: 'rules-users at lists.jboss.org'
Subject: Nested flow terminating parent flow prematurely


Hi.
I'm struggling with a rule flow that contains another rule flow.
Rule flow 1 - first step is to invoke a sub-process, call it rule flow 2.
Rule flow 2 executes fine, with correct internal branching logic.
Rule flow 2 proceeds to an End object with terminates set to false.
After RF2 completes, I am expecting a return to the parent flow, RF1.
However, entire flow terminates and subsequent RF Groups and or RF's in parent flow are never activated.
Is this a bug or am I specifying something incorrectly?
Using Version 5.0.0.CR1

Code for the two flows is below (excuse the ugly ID's and names - these are generated from our rule repository software):

<!-- TOP / OUTERMOST FLOW: -->

<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd<http://drools.org/drools-5.0/process%20drools-processes-5.0.xsd>"
         type="RuleFlow" name="RF6677: R3.09 GAIP" id="29405" package-name="com.wellsfargo.GeneratedRules" version="2" >

  <header>
    <imports>
      <import name="com.wellsfargo.service.provider.hcfg.entity.workingObjects.x2007.PolicySet" />
    </imports>
  </header>

  <nodes>
    <start id="1" name="Start" x="105" y="108" width="48" height="48" />
    <join id="3" name="EndJoin" x="500" y="500" type="3" />
    <end id="4" name="End" x="600" y="600" terminate="false" />
    <subProcess id="29403" name="R3.09 GAIP REP 3" x="400" y="400" processId="29403" >
    </subProcess>
    <ruleSet id="50000580" name="50000580" x="300" y="300" ruleFlowGroup="RF6677_50000580" />
    <subProcess id="29364" name="R3.09 GAIP REP 1" x="200" y="200" processId="29364" >
    </subProcess>
    <split id="150000579" x="458" y="205" width="48" height="48" type="2" >
      <constraints>
        <constraint toNodeId="50000580" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >PolicySet   (    serviceFlowCode == "GAIP"   )</constraint>
        <constraint toNodeId="3" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >PolicySet   (    serviceFlowCode == "Post Rules Processing"   )</constraint>
      </constraints>
    </split>
  </nodes>

  <connections>
    <connection from="29403" to="3" />
    <connection from="150000579" to="3" />
    <connection from="3" to="4" />
    <connection from="50000580" to="29403" />
    <connection from="150000579" to="50000580" />
    <connection from="1" to="29364" />
    <connection from="29364" to="150000579" />
  </connections>

</process>


<!-- FIRST INNER FLOW - subProcess id="29403" -->

<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd<http://drools.org/drools-5.0/process%20drools-processes-5.0.xsd>"
         type="RuleFlow" name="RF6662: R3.09 GAIP REP 1" id="29364" package-name="com.wellsfargo.GeneratedRules" version="2" >

  <header>
    <imports>
      <import name="com.wellsfargo.service.provider.hcfg.entity.decision.x2007.RiskDecisionResultEnum" />
      <import name="com.wellsfargo.service.provider.hcfg.document.loanFile.x2007.TransactionDecisionResults" />
    </imports>
  </header>

  <nodes>
    <start id="1" name="Start" x="405" y="12" width="48" height="48" />
    <join id="250000560" x="661" y="351" width="48" height="48" type="3" />
    <ruleSet id="50000554" name="50000554" x="390" y="109" width="80" height="48" ruleFlowGroup="RF6662_50000554" />
    <ruleSet id="50000555" name="50000555" x="388" y="231" width="80" height="48" ruleFlowGroup="RF6662_50000555" />
    <end id="3" name="End" x="682" y="754" width="48" height="48" terminate="false" />
    <ruleSet id="50000556" name="50000556" x="137" y="349" width="80" height="48" ruleFlowGroup="RF6662_50000556" />
    <ruleSet id="50000557" name="50000557" x="137" y="510" width="80" height="48" ruleFlowGroup="RF6662_50000557" />
    <ruleSet id="50000558" name="50000558" x="253" y="506" width="80" height="48" ruleFlowGroup="RF6662_50000558" />
    <ruleSet id="50000584" name="50000584" x="552" y="501" width="80" height="48" ruleFlowGroup="RF6662_50000584" />
    <ruleSet id="50000559" name="50000559" x="403" y="505" width="80" height="48" ruleFlowGroup="RF6662_50000559" />
    <split id="150000555" x="404" y="351" width="48" height="48" type="2" >
      <constraints>
        <constraint toNodeId="250000560" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >TransactionDecisionResults   (    riskDecisionResult == RiskDecisionResultEnum.NO_DECISION   )</constraint>
        <constraint toNodeId="50000556" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >TransactionDecisionResults   (    riskDecisionResult != RiskDecisionResultEnum.NO_DECISION   )</constraint>
      </constraints>
    </split>
    <ruleSet id="50000560" name="50000560" x="650" y="595" width="80" height="48" ruleFlowGroup="RF6662_50000560" />
  </nodes>

  <connections>
    <connection from="50000584" to="250000560" />
    <connection from="150000555" to="250000560" />
    <connection from="1" to="50000554" />
    <connection from="50000554" to="50000555" />
    <connection from="50000560" to="3" />
    <connection from="150000555" to="50000556" />
    <connection from="50000556" to="50000557" />
    <connection from="50000557" to="50000558" />
    <connection from="50000559" to="50000584" />
    <connection from="50000558" to="50000559" />
    <connection from="50000555" to="150000555" />
    <connection from="250000560" to="50000560" />
  </connections>

</process>





Tom Murphy
Business Process Consultant
Wells Fargo HCFG - CORE Deal Decisioning Platform
800 S. Jordan Creek Parkway | West Des Moines, IA 50266
MAC: X2301-01B
Office: 515 324 4853 | Mobile: 941 320 8014
This message may contain confidential and/or privileged information.  If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein.  If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message.  Thank you for your cooperation.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090602/4ed5f2b6/attachment.html 


More information about the rules-users mailing list