Hi,
The sequential execution mode throws an exception when working with the new API. It works fine with the old API.
I used the following configuration:
KnowledgeBaseConfiguration configuration = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
configuration.setOption(SequentialOption.YES);
This exception has been thrown:
java.lang.ArrayIndexOutOfBoundsException: -1
at org.drools.common.ArrayAgendaGroup.add(ArrayAgendaGroup.java:136)
at org.drools.common.DefaultAgenda.addActivation(DefaultAgenda.java:354)
at org.drools.reteoo.RuleTerminalNode.assertLeftTuple(RuleTerminalNode.java:247)
at org.drools.reteoo.RuleTerminalNode.assertLeftTuple(RuleTerminalNode.java:165)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
at org.drools.reteoo.LIANodePropagation.doPropagation(LIANodePropagation.java:47)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:671)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:659)
at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:213)
at com.sample.DroolsTest.main(DroolsTest.java:47)
For this rule:
rule "Hello World"
when
Message()
then
System.out.println( "test" );
end
Tested with snapshot from 7. Mar 2009
Best Regards,
Michal