<html><body>
<DIV><FONT face="Verdana, sans-serif" size=2>To make it easier to follow, I have included the rules as well as some images in the message body. </FONT><FONT face="Verdana, sans-serif" size=2>Here are the rules:</FONT></DIV>
<DIV>
<DIV> </DIV>
<DIV><FONT face="Courier New, Courier, mono" size=2>rule "Fact A Branch"<BR> ruleflow-group "Fact A Branch"<BR> when</FONT></DIV>
<DIV><FONT face="Courier New, Courier, mono" size=2> FactA()<BR> then<BR> System.out.println("Fact A Branch");<BR>end</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New, Courier, mono" size=2>rule "Fact B Branch"<BR> ruleflow-group "Fact B Branch"<BR> when<BR> FactB()<BR> then<BR> System.out.println("Fact B Branch");<BR>end</FONT></DIV><FONT face="Courier New, Courier, mono" size=2></FONT></DIV>
<P><FONT face=Verdana size=2>Here is a picture of the ruleflow:</FONT></P>
<P><IMG alt="" src="cid:1227118286.10939@492456CE0007D4E100002ABB2207020853.jpg" border=0></P>
<DIV><FONT face="Verdana, sans-serif" size=2>Here is a picture of the rules trace when only FactA is inserted, and the join node is type "AND" - notice the ruleflow is never completed (also, when the ruleflow is run, the Action node is never executed):</FONT></DIV>
<DIV> </DIV>
<DIV><IMG alt="" src="cid:1227118202.29101@4924567A00042A2A000071AD2200745672.jpg" border=0></DIV>
<DIV> </DIV>
<DIV><FONT face="Verdana, sans-serif" size=2>Here is a picture of the rules trace when both FactA and FactB are inserted, and the join node is type "XOR" - notice the Fact A Branch rule activation is never executed:</FONT></DIV>
<DIV> </DIV>
<DIV><IMG alt="" src="cid:1227116864.20656@49245140000ABD55000050B02207000953.jpg" border=0></DIV>
<DIV> </DIV>
<DIV><FONT face="Verdana, sans-serif" size=2>TIA,</FONT></DIV>
<DIV><FONT face="Verdana, sans-serif" size=2>-Hans</FONT></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">-------------- Original message -------------- <BR>From: ringsah@comcast.net <BR>
<P><FONT face=Verdana size=2>I am having a problem with the ruleflow in Drools 4.0.7. I have the following simple ruleflow with a split node with a type of "OR" with two outgoing connections, each going to a different ruleflow group (image of ruleflow attached).<BR><BR><FONT size=2></P></FONT>
<P>The problem I am having is with the join node, into which the two ruleflow groups connect back in. If I use a join node type of "AND", then it works okay unless only one branch is executed. Then the action, which simply prints "Action node" to the console, never gets executed.<BR><BR>If I use a join node type of "XOR", then it works okay unless both branches are executed. Then it appears that both branches are executed, because the action get executed twice. However, the rules from the ruleflow group in only one of the branches end up getting fired.<BR><BR>I have attached a zip file containing an extremely simple eclipse test project that illustrates the problem.<BR><BR>Thanks in Advance,<BR>-Hans<BR></P></FONT>
<DIV> </DIV></BLOCKQUOTE></body></html>