[rules-users] Change Notification doesn't work with eval(true) in one of the rules
Sammi
sammi_ting at yahoo.com.hk
Mon Jul 22 02:39:31 EDT 2013
All the rules defined in a single DRL were running fine until one day we
added eval(manager.isEnabledSomeSettings()) into one of the rule in drl,
which causing an issue for change update on the fly (see below error
stacks). When we changed that eval to Boolean(this == Boolean.TRUE) from
manager.isEnabledSomeSettings() then the change notification getting back to
work properly. Any ideas?
KnowledgeAgent adding KnowledgeDefinitionsPackage
com.baml.investxa.rule.order
Exception in thread "Thread-15" java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$EntryIterator.next(HashMap.java:834)
at java.util.HashMap$EntryIterator.next(HashMap.java:832)
at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "Thread-22" java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$EntryIterator.next(HashMap.java:834)
at java.util.HashMap$EntryIterator.next(HashMap.java:832)
at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "Thread-21" java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$EntryIterator.next(HashMap.java:834)
at java.util.HashMap$EntryIterator.next(HashMap.java:832)
at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
at org.drools.common.BaseNode.remove(BaseNode.java:105)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
at java.lang.Thread.run(Thread.java:662)
--
View this message in context: http://drools.46999.n3.nabble.com/Change-Notification-doesn-t-work-with-eval-true-in-one-of-the-rules-tp4025067.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list