Can you first do this in DRL and make sure that works, if it doesn't then let us know. If it does work, then you can hopefully figure out what went wrong in your code from how we construct things.


Andreas Kohn wrote:

I'm currently integrating drools (via the .spi.* classes, not via .drl
files etc) into our product, and found a very odd class cast exception
when producing different rules.

java.lang.ClassCastException: org.drools.reteoo.AlphaNode$AlphaMemory cannot be cast to org.drools.reteoo.BetaMemory
	at org.drools.reteoo.NotNode.assertLeftTuple(
	at org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(
	at org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(
	at org.drools.reteoo.LeftInputAdapterNode.assertObject(
	at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(
	at org.drools.reteoo.ObjectTypeNode.assertObject(
	at org.drools.reteoo.EntryPointNode.assertObject(
	at org.drools.reteoo.Rete.assertObject(
	at org.drools.reteoo.ReteooRuleBase.assertObject(
	at org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(
	at org.drools.common.AbstractWorkingMemory.executeQueuedActions(
	at org.drools.common.AbstractWorkingMemory.fireAllRules(
	at org.drools.common.AbstractWorkingMemory.fireAllRules(
	at drools.scratch.RecyclingTest.assertSession(

Attached you'll find a maven project exhibiting the error, and from
stepping through the code pieces it looks like two nodes in the network
have the same id. The id was marked as released in the removeRule()

This is against the 5.0.0.SNAPSHOT.

Am I doing something wrong? Missing anything? Or is this a real
"blocker" bug? Should I open a JIRA issue for that?



_______________________________________________ rules-dev mailing list