[rules-users] Getting java.util.ConcurrentModificationException when updating a fact from Decision Tables.

Gurvinder Narula1 gnarula1 at la-z-boy.com
Tue Nov 17 14:48:16 EST 2009


I have a decision table with one CONDITION column. My fact could match
multiple rules (rows) of the decision table. With each match, the
'ACTION' cause the fact itself to change. I'm using 'modify' as follows
to change my fact:

 

modify ($line) { addItem( new Item("DISCOUNT","25%")); } 

 

(essentially I need to add a item to a line when ever the LHS matches).

 

This works fine when I use a DRL. But when I try to use a decsion table,
I get 'java.util.ConcurrentModificationException' the second time my
fact matches a rule.

 

Does anyone know if we can modify facts from decision tables ? All the
examples I've seen so far don't show how decision tables handle updating
of facts. 

 

Here's the stack trace I get :

 

org.drools.runtime.rule.ConsequenceException:
java.util.ConcurrentModificationException

            at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleEx
ception(DefaultConsequenceExceptionHandler.java:23)

            at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)

            at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)

            at
org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1082)

            at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
ry.java:682)

            at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
ry.java:649)

            at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowle
dgeSessionImpl.java:177)

            at
com.sample.DecisionTableTest.main(DecisionTableTest.java:31)

Caused by: java.util.ConcurrentModificationException

            at
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)

            at java.util.AbstractList$Itr.next(AbstractList.java:343)

            at com.sample.Line.addPromotion(Line.java:46)

            at
com.lazboy.promotions.Rule_Group_Promotion_14_0.consequence(Rule_Group_P
romotion_14_0.java:7)

            at
com.lazboy.promotions.Rule_Group_Promotion_14_0ConsequenceInvoker.evalua
te(Rule_Group_Promotion_14_0ConsequenceInvoker.java:22)

            at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)

            ... 6 more

 

I'm using Drools Expert 5.0.1.

 

Thanks

Gurvinder

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091117/051e1559/attachment.html 


More information about the rules-users mailing list