An Event is either not counted yet, or already counted. If repeated counting is to be avoided during repeated insertion, store the "counted" property with the Event and write your rules accordingly.

-W

2011/9/9 Neel <neeleshdev@yahoo.co.in>
Hi,
I'm using Drools 5.3.0. I've a proprietary key-value based data store, where all the events are stored. As soon as an event is received, it is inserted in the session and the rules (example below) is fired:

rule "registration count"
no-loop
dialect "mvel"
when
$e : Event(type == "registration", $s: student)
then
$s.registerCount += 1;
update($s);
end

All the 'registration' events which has occurred in the past (stored in data store) also are inserted in session so that any rule with temporal operator (relates among the events) can work fine. If I insert previous events then the rule "registration count" is evaluated again for each previous events and fired. Please let me know, if there is a way to prevent rule evaluation for certain rules while event insertion. The events are too many, so I don't keep all in working memory for  long period, instead I store previous events in data store and insert all previous events also in session when I get a new event.
Please help me regarding the issue.

Thanks,
Neel



_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users