The .drl:<br><br>declare Leave<br>� @role( event )<br>� @timestamp( timestamp )<br>end<br><br>rule &quot;XXX Leave not !=&quot;<br>when<br>��� $leave: Leave()<br>��� not Leave( this != $leave )<br>then<br>��� System.out.println( &quot;XXX only one Leave - not !=&quot; );<br>
end<br><br>rule &quot;YYY Leave not after&quot;<br>when<br>��� $leave: Leave()<br>��� not Leave( this before $leave )<br>then<br>��� System.out.println( &quot;YYY only one Leave - not before&quot; );<br>end<br><br><br>A) The pseudo-clock is advanced according to the timestamp; then<br>
exactly one event Leave is inserted; then fireAllRules() is called.<br><br>1) Running in CLOUD mode, both rules fire.<br>2) But running in STREAM mode, ONLY rule XXX fires.<br><br>B) Like A, but the session clock is advanced by (at least) 1ms<br>
prior to calling fireAllRules().<br><br>3) Either mode, both rules fire.<br><br>I think that A2) is incorrect; why should passing another msec change the logic?<br><br>JIRA?<br><br>Wolfgang<br><br><br><br>