Hi, I have some rules that require stateless sequential execution. I initially created a knowledge base manually in code and using the following approach, the rules run sequentially:
KnowledgeBaseConfiguration config = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
config.setOption(SequentialOption.YES);
kbase = KnowledgeBaseFactory.newKnowledgeBase(config);
I then converted my manual knowledge base generation into a Spring bean and now I can't seem to set the knowledge base as sequential. The rules run as rete.
<!-- Bean for Drools rules engine instance (aka KnowledgeBase) -- >
<drools:kbase id="rules-engine">
<drools:resources>
<drools:resource ref="serialisation-rules-resource-1"/>
</drools:resources>
<drools:configuration>
<drools:mbeans enabled="true" />
<drools:event-processing-mode mode="STREAM" />
</drools:configuration>
</drools:kbase>
Googling for clues, I also tried setting drools.sequential
to true in rulebase.conf
. I placed this file in the classpath but again, the rules run as rete rather than sequential.
How can I get the rules to run sequentially when the rule base is created via Spring? I scanned down the drools spring XSD and couldn't see any config param that could be added within the drools:configuration
section either.
Cheers.