Hi, I tried to create a rule that gives an alert when a machine reading is high for 30 seconds. I modeled the machine reading input as events. The following is the rule:
rule "rule1" dialect "mvel" when $rd1 : mReading( reading >90 ) from entry-point ReadingStream not ($rd2 : mReading (reading<=90 , this before [0s, 30s] $rd1 ) from entry-point ReadingStream ) then System.out.print ("alert: Reading high for 30 seconds \n"); end This does not detect detect the bad reading. However, If I changed the rule to be following (change second condition from "not" to "exists"), it detects all readings that are good. rule "rule1" dialect "mvel" when $rd1 : mReading( reading >90 ) from entry-point ReadingStream exists ($rd2 : mReading (reading<=90 , this before [0s, 30s] $rd1 ) from entry-point ReadingStream ) then System.out.print ("alert: Reading high for 30 seconds \n"); End Is this an issue in CEP or did I do something wrong? Thanks a lot! Lily -- View this message in context: http://drools.46999.n3.nabble.com/sliding-window-question-tp4028367.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users