Create a single fact, say Clock, with a field time. Assuming that this value is updated once in a while, depending on the precision with which your time supervision should work, you may then write rules such as<br><br>rule extract<br>
when<br>     Clock( $time : time )<br>     e1 : Event (code == <font color="#008000" size="2"><font color="#008000" size="2">&quot;LOGON&quot;</font></font><font size="2">, status == </font><font color="#008000" size="2"><font color="#008000" size="2">&quot;ACTIVE&quot;,<br>
            $ts: longTimeStamp &lt; ($time - 100) </font></font><font size="2">)<br>then<br>     retract( e1 );<br>end<br></font><br><div class="gmail_quote">2009/4/30  <span dir="ltr">&lt;<a href="mailto:rsundaar@aretus.biz">rsundaar@aretus.biz</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span style="font-family: Verdana; color: rgb(0, 0, 0); font-size: 10pt;"><div> </div>
<div>I have a need to &quot;expire&quot; some facts based on time. In other words, if an event occurs some time and if sufficient time has gone by, the fact should become inonsequential and be retracted. Here is my simple rule to do this:</div>

<div> </div><font size="2">
<div align="left"></div></font><b><font color="#960000" size="2"><font color="#960000" size="2"></font></font></b><font size="2"><font size="2"></font></font></span></div>
<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">rule</font></font></b><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">&quot;Retract expired facts&quot;</font></font></div>

<div align="left"><font size="2"></font></div>
<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">dialect</font></font></b><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">&quot;mvel&quot;</font></font></div>

<div align="left"><font size="2"></font></div>
<div align="left"><font color="#808000" size="2"><font color="#808000" size="2">// salience -5</font></font></div>
<div align="left"><font size="2"></font></div>
<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">when</font></font></b></div>
<div align="left"><font size="2"></font></div>
<div align="left">e1 : Event (code == <font color="#008000" size="2"><font color="#008000" size="2">&quot;LOGON&quot;</font></font><font size="2">, status == </font><font color="#008000" size="2"><font color="#008000" size="2">&quot;ACTIVE&quot;</font></font><font size="2">)</font></div>

<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">eval</font></font></b><font size="2"> ((getCurrentTimeStamp ()- e1.getLongTimeStamp()) &gt; </font><font size="2">100)</font><font size="2"></font></div>

<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">then</font></font></b><font size="2"></font></div>
<div align="left">System.out.println( <font color="#008000" size="2"><font color="#008000" size="2">&quot;Retracting expired event with Timestamp: &quot;</font></font><font size="2"> + e1.longTimeStamp ); </font></div>
<div align="left"><b><font color="#960000" size="2"><font color="#960000" size="2">retract</font></font></b><font size="2"> (e1);</font></div>
<div align="left">
<div align="left"></div>
<div align="left"><font color="#960000" size="2"><font color="#960000" size="2"></font></font></div>
<div><b>end</b></div>
<div> </div>
<div><font color="#000000">This does not seem to work because the &quot;eval&quot; method does not evaluate the rule every cycle. And, there is no other change to the fact (event) to force the rule to re-evaluate the fact. Is there a way to make &quot;eval&quot; in the LHS evaluate every cycle? Is there any other method?</font></div>

<div><font color="#000000"></font> </div>
<div><font color="#000000">I would greatly appreciate any ideas.</font></div>
<div> </div>
<div><font color="#000000">Thanks,</font></div>
<p><font color="#000000">Ravi.</font><font size="2"></font></p></div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>