<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Bell MT, serif" size="3">
<div>&nbsp;</div>
<div>Hi All,</div>
<div>I have small doubt in the DRL file execution. I have developing the small Claims application. I have 4 rules in my application. Below are the rules I have declared in the drl file based on the rules.</div>
<div>&nbsp;</div>
<div><u><b>Claims.drl </b></u></div>
<div style="padding-left: 36pt; ">rule &quot;Amount Validation-Rule1&quot;</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when </div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; $c : Claims(amount &gt;= ( maxClaimAmount) )</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; $c.setMessage ( &quot;The total amount claimed exceeds the maximum permitted by the</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Policy&quot; ); </div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update($c);</div>
<div style="padding-left: 36pt; ">end</div>
<div style="padding-left: 36pt; ">&nbsp;</div>
<div style="padding-left: 36pt; ">rule &quot;Expired Policy-Rule2&quot; </div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $c : Claims( currentDate &gt; ( policyExpireDate ))</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $c.setMessage( &quot;Your Policy has been expired&quot; ); </div>
<div style="padding-left: 36pt; text-indent: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp; update($c);</div>
<div style="padding-left: 36pt; ">end</div>
<div style="padding-left: 36pt; ">&nbsp;</div>
<div style="padding-left: 36pt; ">rule &quot;Feature Date-Rule3&quot; </div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c : Claims( claimDate &gt;= ( currentDate ) )</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then</div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="padding-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c.setMessage( &quot;Rejecting the claim because the date on the claim is in the future&quot; );&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="padding-left: 36pt; text-indent: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update($c);</div>
<div style="padding-left: 36pt; ">end</div>
<div>&nbsp;</div>
<div>and my java class is </div>
<div><u><b>Claims.java</b></u></div>
<div>&nbsp;</div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2" color="#3F7F5F">// Setting the values to Claims object</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">Claims rule = <font color="#7F0055"><b>new</b></font> Claims ();</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setAmount(amount);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setClaimsHospitalStayeddays(claimsHospitalStayeddays);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setClaimDate(claimDate);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setCurrentDate(currentDate);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setDaysPermitted(<font color="#0000C0">daysPermitted</font>);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setPolicyExpireDate(<font color="#0000C0">policyExpireDate</font>);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setCurrentDate(currentDate);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">rule.setMaxClaimAmount(<font color="#0000C0">maxClaimAmount</font>);</font></div>
<div style="padding-left: 36pt; "><font face="Times New Roman, serif">&nbsp;</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">StatefulSession workingMemory = ruleBase.newStatefulSession();</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">workingMemory.insert(rule);</font></div>
<div style="padding-left: 36pt; "><font face="Courier New, monospace" size="2">workingMemory.fireAllRules();</font></div>
<a name="_MailAutoSig"></a>
<div>&nbsp;</div>
<div>If my first rule is fails then it is displaining in the messaege I managed to get that value in my java class. If the condition is not satisfied then is fell into the infinte loop. Again and again it is calling, not coming from that loop. If I keep the
drools.halt(); at the end of the rule then it is executing. </div>
<div>My question &#8211; Is there any alternate method is there to come out from infinte loop without using drools.halt(); method? Why it is fell into the infinite loop?</div>
<div>&nbsp;</div>
<div>Thanks, </div>
<div>Sarath Kumar Daruru </div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
</font>
</body>
</html>