[rules-users] Dynamic Rules and Eval

Davide Sottara dsotty at gmail.com
Tue Jul 16 17:54:59 EDT 2013


It seems that the EvalNode in 5.5 is buggy with respect to this behavior.
A 5.6 release is scheduled for immediately after 6.0.CR1 - some time
next week -
so it will be fixed there.
Thanks for reporting
Davide

p.s. you may want to clear the KnowledgeBuilder in between incremental
additions.
In your example, the second "addKnowledgePackages" also readds the
pre-existing ones.



On 07/14/2013 07:52 PM, k wrote:
> Hi,
> basically it's the same problem this guy had 
> http://stackoverflow.com/questions/11485122/non-template-dynamic-rules-in-drools
> <http://stackoverflow.com/questions/11485122/non-template-dynamic-rules-in-drools> 
> , but the links in that question don't work.
>
> I'd like to dynamically add rules to a running session, but can use 'eval'
> only in the very first one. If I add a second rule like the following, it
> won't execute:
>
> ---
>
> String test2 =
>   "\nrule id4" +
>   "\nwhen" +
>   "\neval(0 == 0)" + // if this eval is removed, "done2" is inserted
>   "\nthen" +
>   "\ninsertLogical( \"done2\" );" +
>   "\nend";
>
> kbuilder.add(ResourceFactory.newByteArrayResource(test2.getBytes()),
> ResourceType.DRL);
> session.getKnowledgeBase().addKnowledgePackages(kbuilder.getKnowledgePackages());
> 	
> fired = session.fireAllRules();
> System.out.println(fired); // 0
> effects = session.getObjects();
> assertTrue("fired", effects.contains("done2")); // fails
>
> ---
>
> You can see the complete Test at http://codetidy.com/6206/
>
> I'm also not sure if this is the correct way to dynamically add rules, so
> please let me know, if there's a better way to add rules from strings.
>
> How can I dynamically add new rules to a running session and still use eval?
>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/Dynamic-Rules-and-Eval-tp4024908.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