Do your Foo and Bar events declare an @expires value? If their expiration is less than 10
seconds then the rule below won't work properly. (And by default an event's
expiration is 0, which makes the rule below go wacky if @expires hasn't been
declared...) If the @expires is 10s or greater for both events it should work.
--- On Thu, 1/14/10, Paul R. <reverselogic(a)gmail.com> wrote:
From: Paul R. <reverselogic(a)gmail.com>
Subject: [rules-users] Accumulate + Temporal Operators
To: rules-users(a)lists.jboss.org
Date: Thursday, January 14, 2010, 1:56 PM
Hi,
I'm using accumulate with sliding windows to verify
that certain event conditions are present for a specified
period of time, which works fine, however
I need to verify that both conditions are present at the
same time, i.e Foo.value > 1 for 10 seconds and Bar.value
< 1 for 10 seconds. There doesn't
appear to be an obvious way to use the temporal operators
in this situation. Can anybody offer any suggestions?
rule test no-loop true
when
$f : Double(doubleValue > 1.0) from
accumulate( Foo($v : value) over window:time ( 10s )
from entry-point EntryPoint,
min($v))
$b : Double(doubleValue < 1.0) from
accumulate( Bar($v : value) over window:time ( 10s )
from entry-point EntryPoint,
max($v))
then
// ...
end
Any help greatly appreciated.
Thanks,
Paul
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users