[rules-users] Change Notification doesn't work with eval(true) in one of the rules

Wolfgang Laun wolfgang.laun at gmail.com
Mon Jul 22 02:55:10 EDT 2013


On 22/07/2013, Sammi <sammi_ting at yahoo.com.hk> wrote:
> 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?

Yes: provide a complete (!) example demonstrating this effect, and
don't forget to add the Drools version.

-W


>
>
> 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.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>


More information about the rules-users mailing list