I'll quote Greg Barton on a recent post here:
*You can also implement various listeners, (WorkingMemoryListener,
AgendaEventListener, and other such goodies in package org.drools.event)
register them with your session, and make assertions over the execution data
they gather. You can track such things as:
Did rule A fire? How many times?
Did rule A fire on fact B?
You can even go down to the level of "did rule sequence A fire in the right
order?" assertions, but usually such tests are too brittle, and miss the
point of rules anyway. :)*
My other answers are below.
2009/12/2 Anupindi RaviShankar <iamravi79(a)gmail.com>
We are evaluating Drools rules engine for one of the clients. The client
has given some parameters based on which evaluation needs to be done.
We were not able to get this information from Drools site. So need your
help in getting this information.
• Number of transactions Drools Engine can support. Can it support around
1-1.5 million transactions.
** I'd say it will depend on the characteristics of your system: complexity
of rules, # of rules, # of facts, if you'll use stateless or stateful
sessions, etc. You could also have a look here:
. Even if it's not drools-specific,
it applies for rule engines in general.
• How can we introduce enforcement levels, overriding authority
** I think you're talking about something drools call "salience" and
"agenda-groups" here. Look for these words in the docs.
• How can the controlling class get to know which rule was fired and
was overridden ?
** Go to the beginning of my answer.
• Does the rule engine support the tracking of different rule types?
** I don't exactly what you'd like to achieve, but I think the different
listeners could help you with that.
Can you please provide your updates on the same.
rules-users mailing list