The negated existence is represented by a "not" CE.
$event1 : Event(eventNo == "A")
not Event(eventNo == "B", this after[5s] $event1 )
A negated condition with respect to time still requires an EventB to be present,
but with a constraint on (relative) timestamps.
Also, note that the startedby operator has a semantic that implies durations
for both events, which is not in your requirement.
-W
Hi,
I'm a newbie of Drools Fusion. I have a requirement as following:
If Event A is inserted into the working memory and in the following 5
seconds there is no Event B, some action will be performed.
Here is my rule script
import com.foo.event.Event
rule "test"
when
$event1 : Event(eventNo == "A")
Event(eventNo == "B", this not startedby [5s] $event1 )
then
System.out.println("there is no Event B in 5 seconds");
end
Java code:
session.insert( event1 );
clock.advanceTime( 6, TimeUnit.SECONDS );
session.insert(event2);
session.fireAllRules();
this works. But if i do not insert event2 and the rule will not be fired.
I also tried
not Event(eventNo == "B", this startedby [5s] $event1 )
not work also
Thanks
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/CE-not-tp1771908p1771908.html
Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users