First of all, your approach does not sound like a good approach. If you are removing all rules and adding new ones, why not simply create a new knowledge base?

   Anyway, by default, drools fires all rules right after a rulebase is updated. To disable this behavior, you need to set a knowledge base configuration. Unfortunately setting this property now requires a down cast:

KnowledgeBaseConfiguration conf = ...
((RuleBaseConfiguration)conf).setRuleBaseUpdateHandler( null );

   I will add an option API to allow the configuration without the cast.

   []s
   Edson



2009/6/18 Pablo Navais <pnavais@gmail.com>
Hi,

I'm very new to Drools and don't know if this is possible, but i'm trying to
manually update the knowledge base with the following steps :

1. Retrieve a knowledge builder from KnowledgeBuilderFactory
2. Load a drl rules file into builder
3. Create a knowledge base with the knowledge packages from the builder
4. Create a session from the kbase
4. Insert objects into the working memory => Activations are created
5. Fire all rules => Rules are launched , objects are created by rules and
asserted into the WM
6. Retract objects generated by rules from the WM
7. Remove knowledge packages from the kbase
8. Generate another builder, load a different drl rules file and add the
knowledge pacakges to the kbase => Activations are created automatically
just after adding new packages but objects are created by rules and asserted
into the WM.
9. Fire all rules -> Te agenda is empty , no rules are launched.

Are the 8th and 9th steps the expected behaviour or i'm just doing something
wrong ? The same seems to happen when

Thanks in advance.
Pablo.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




--
 Edson Tirelli
 JBoss Drools Core Development
 JBoss, a division of Red Hat @ www.jboss.com