Ok, your case seems clearly a case where you need either a
StatefulSession or your application needs to send previous readings to
drools.
If you are using a StatefulSession AND you always use the same SystemInfo
object (just use update on it), you could use "duration" on your rule:
rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"
duration 60000
when
SystemInfo (idle >= 70) //Idle continuously for 60 seconds
then
// start new process
end
Using StatelessSession, you must have an update rule for your object
rule "System_is_70%_Idle"
salience 10
when
$si : SystemInfo (idle >= 70)
then
$si.setIdleCounter( $si.getIdleCounter() + 1 );
end
rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"
when
SystemInfo( idleCounter >= 12)
then
// start new process
end
[]s
Edson
2008/8/19 ganesh.p <ganesh_patkar(a)hotmail.com>
I need to create a rule with following requirements:
There is a fact class called SystemInfo which contains idle information of
a
sytem
public class SystemInfo {
private double idle; //System idle percentage
public void setIdle(double idle) {
this.idle = idle;
}
public double getIdle() {
return this.idle;
}
}
The SystemInfo objects are continuously sent to DROOLS (StatelessSession)
with 5 second delay.
I need to create a rule
rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"
when SystemInfo (idle >= 70) //Idle continuously for 60 seconds
then
// start new process
end
I need to fire this rule only if all the 12 SystemInfo objects which are
sent with 5 seconds delay for 60 seconds, match the condition "idle >= 70".
Even if a single SystemInfo doesn't match this condition then this rule
shouldn't be fired.
I am using DROOLS 4.0. Please help me in implementing the WHEN condition.
Thanks
-Ganesh
--
View this message in context:
http://www.nabble.com/Fire-rule-only-when-all-the-fact-objects-sent-durin...
Sent from the drools - user mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @
www.jboss.com