Greetings!
I read through the manual, but it is a little too terse regarding when one might choose
Stateless versus Stateful sessions. My initial testing has been with Stateful sessions
and these work nicely but memory use explodes as the number of facts added increases much
beyond 100.
So, my questions:
1. Do stateless sessions execute faster than stateful? I'm assuming that even if
they don't, they use memory more effciently?
2. I read that stateless sessions do not allow for facts to be modified yet I saw an
example online which was using "insert()" in the DRL file. Will this work if
there is a rule that has not already fired but might after the insert? In a stateless
session will a rule only fire once and ignore new facts? (I believe so).
3. It also seems that a stateless session has no agenda and therefore will simply fire
the first rule that matches so that salience must be used to prioritize rules. Is this
correct?
3. The difference between a stateless session and a sequential stateless session is also
unclear (to me) from the manual. Can someone explain it?
What I am looking to build is essentially a filter, something that gets a bunch of input
facts and applies the rules to see if any alarms should be raised based on the inputs. My
test programs have been using a global which tracks the alarms raised. I just look at it
after the engine has run and use it as my output. Each run of the rules engine is
separate from the previous run, ie, there is no accumulation of "knowledge",
which is why I think a stateless session is the way to go but I'm not sure.
Any help appreciated!
Ron
_________________________________________________________________
The i’m Talkathon starts 6/24/08. For now, give amongst yourselves.
http://www.imtalkathon.com?source=TXT_EML_WLH_LearnMore_GiveAmongst