hi all,
I'm quite new to the drools rule engine and i've been using it for a project where
i need to filter events and execute actions accordingly.
I'm currently running a DRL file and creating a stateful session from it, and then
running 2/3 facts every time. Every X seconds I collect the available facts and call
fireAllRules() + dispose(), always within the same session. The DRL file has circa 2160
rules declared (an external program is producing them), and i'm using the
"no-loop", "lock-on-active", "activation-group" and
"agenda-group" options on almost every one.
My main problem is that the software is consuming too much memory when it loads the rules
to the knowledge base variable, it reaches +300Mb which is just not affordable in this
project. Is there any way i can work around this? I've tried setting some
configuration properties but to no avail. What techniques may i try in order to reduce
memory load on drools startup? What would be the best approach for dealing with so many
rules?
Anything would help, thanks in advance,
_ miguel