<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3603" name=GENERATOR></HEAD>
<BODY style="FONT-SIZE: 10pt; FONT-FAMILY: verdana">
<DIV><FONT face=Verdana><FONT size=2>I want increase user age by rule.But 
ruleSet node trigge&nbsp;only one time.</FONT></FONT></DIV>
<DIV>When execute output:</DIV>
<DIV>&nbsp;&nbsp;&nbsp; new Usesr<BR>ageA: 0<BR>inc<BR>ageB: 1</DIV>
<DIV>&nbsp;</DIV>
<DIV>ageA: 1<BR>ageB: 1<BR>ageA: 1<BR>ageB: 1&nbsp;</DIV>
<DIV>....</DIV>
<DIV>.....</DIV>
<DIV><FONT face=Verdana><FONT 
size=2>rule:***************************</FONT></FONT></DIV>
<DIV>&nbsp;&nbsp;&nbsp; package t2.state</DIV>
<DIV>&nbsp;</DIV>
<DIV>import t2.state.User;<BR>import java.util.Map;<BR>import 
java.util.HashMap;</DIV>
<DIV>&nbsp;</DIV>
<DIV>function Map createMap(String key,Object obj){<BR>&nbsp;Map m=new 
HashMap();<BR>&nbsp;m.put(key,obj);<BR>&nbsp;return m;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>rule "boot"<BR>&nbsp;dialect "mvel"<BR>&nbsp;when<BR>&nbsp;&nbsp;u : 
User(age==0)<BR>&nbsp;then<BR>&nbsp;&nbsp;System.out.println(" new 
Usesr");<BR>&nbsp;&nbsp;kcontext.getKnowledgeRuntime().startProcess("p1rf",createMap("user",u));<BR>end</DIV>
<DIV>&nbsp;</DIV>
<DIV>rule "inc user age"<BR>&nbsp;dialect "mvel"<BR>&nbsp;ruleflow-group "inc 
age"<BR>&nbsp;no-loop true<BR>&nbsp;when<BR>&nbsp;&nbsp;u : 
User();<BR>&nbsp;then<BR>&nbsp;&nbsp;System.out.println("inc");<BR>&nbsp;&nbsp;modify(u){age+=1};<BR>end<BR></DIV>
<DIV><FONT face=Verdana><FONT size=2></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Verdana><FONT size=2>rule 
flow:************************************</FONT></FONT></DIV>
<DIV><FONT face=Verdana>&nbsp;&nbsp;&nbsp; &lt;?xml version="1.0" 
encoding="UTF-8"?&gt; <BR>&lt;process xmlns="<A 
href="http://drools.org/drools-5.0/process">http://drools.org/drools-5.0/process</A>"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xmlns:xs="<A 
href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</A>"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xs:schemaLocation="<A 
href="http://drools.org/drools-5.0/process">http://drools.org/drools-5.0/process</A> 
drools-processes-5.0.xsd"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
type="RuleFlow" name="p1 rule flow" id="p1rf" package-name="t2.state" 
&gt;<BR>&nbsp;&lt;header&gt;<BR>&nbsp;&nbsp;&lt;imports&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;import 
name="t2.state.User"/&gt;<BR>&nbsp;&nbsp;&lt;/imports&gt;<BR>&nbsp;&nbsp;&lt;variables&gt;<BR>&nbsp;&nbsp;&nbsp; 
&lt;variable name="user" &gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;type 
name="org.drools.process.core.datatype.impl.type.ObjectDataType" 
className="User" /&gt;<BR>&nbsp;&nbsp;&nbsp; 
&lt;/variable&gt;<BR>&nbsp;&nbsp;&lt;/variables&gt;<BR>&nbsp;&lt;/header&gt;<BR>&nbsp;<BR>&nbsp;&lt;nodes&gt;<BR>&nbsp;&nbsp;&lt;start 
id="1" name="Start"/&gt;<BR>&nbsp;&nbsp;&lt;join id="2" name="Restart" 
type="2"/&gt;<BR>&nbsp;&nbsp;&lt;actionNode id="3" 
name="changeAge"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;action type="expression" 
dialect="mvel"&gt;System.out.println("ageA: 
"+user.age);&lt;/action&gt;<BR>&nbsp;&nbsp;&lt;/actionNode&gt;<BR>&nbsp;&nbsp;&lt;ruleSet 
id="4" name="user rule" ruleFlowGroup="inc 
age"/&gt;<BR>&nbsp;&nbsp;&lt;actionNode id="5" 
name="changeAge"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;action type="expression" 
dialect="mvel"&gt;System.out.println("ageB: 
"+user.age);System.in.read();&lt;/action&gt;<BR>&nbsp;&nbsp;&lt;/actionNode&gt;<BR>&nbsp;&nbsp;&lt;split 
id="6" name="decide" 
type="2"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;constraints&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;constraint 
toNodeId="2" toType="DROOLS_DEFAULT" name="go to rest" type="rule" priority="1" 
dialect="mvel"&gt;User(age &amp;lt; 
6)&lt;/constraint&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;constraint toNodeId="100" 
toType="DROOLS_DEFAULT" name="go to end" type="rule" priority="2" 
dialect="mvel"&gt;eval(true)&lt;/constraint&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/constraints&gt;<BR>&nbsp;&nbsp;&lt;/split&gt;<BR>&nbsp;&nbsp;&lt;end 
id="100" 
name="End"/&gt;<BR>&nbsp;&lt;/nodes&gt;<BR>&nbsp;<BR>&nbsp;&lt;connections&gt;<BR>&nbsp;&nbsp;&lt;connection 
from="1" to="2"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="2" 
to="3"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="3" 
to="4"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="4" 
to="5"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="5" 
to="6"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="6" 
to="2"/&gt;<BR>&nbsp;&nbsp;&lt;connection from="6" 
to="100"/&gt;<BR>&nbsp;&lt;/connections&gt;<BR>&nbsp;<BR>&lt;/process&gt;</DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV align=left><FONT size=2>
<HR style="WIDTH: 122px; HEIGHT: 2px" SIZE=2>
</FONT></DIV>
<DIV><FONT color=#c0c0c0><FONT size=2>liuzhikun</FONT></DIV>
<DIV><FONT size=2>2009-10-30</FONT></FONT></DIV></FONT></BODY></HTML>