I guess a folow up would be, would it be
possible to terminate a long lived event that was generated with the arrival of
another event?
Thanks,
Chris
From:
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Chris Richmond
Sent: Friday, September 25, 2009
10:18 AM
To: '
Subject: [rules-users] Event
streams
It is my understanding that an event will be detected as
soon as it is inserted into a stream…meaning that I don’t have to
explicitly call fireRules in order to evaluate events, but them will be
evaluated as soon as I insert them into a stream, so a rule like the one below
would fire as soon as I perform datastream.insert(myDataStreamObject)
without having to explicitly fire rules? Is that behavior correct/intended?
Declare MyDataStreamObject
@role(event)
End
//rule “detect a stream data object”
When
MyDataStreamObject() from entry point “DATA”
Then
System.err.println(“data object inserted”);
end
Also, could I generate another event(long lived…say it
lives 1 minute) so that if the above event detector fired and some condition
was met, I could have it fire some event within the rule engine?
Something like the following:
//rule “detect a stream data object”
When
MyDataStreamObject($val: fieldValue < 20) from entry point
“DATA”
Then
//I want to raise an event purely from this rule that will live for one minute
or so, that I can use to further refine this rule, to make sure this rule makes
//sure that the MyDataStreamObject event “NOT INCLUDED” within the
generated longer lived event lifetime. Efffectively preventing me from firing
this if one of my
//generated events is still living
end
Thanks,
Chris