Hi Justin,
Try this:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
Resource resource = ResourceFactory.newClassPathResource("MyDrl.drl", MyClass.class);
kbuilder.add(resource, ResourceType.DRL);
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
Hope to help,
Nestor
Anyone at all? I still haven't found a way to do this.On Tue, Aug 25, 2009 at 11:03 AM, Justin King <justin.matthew.king@gmail.com> wrote:
Hi Everyone,
I found an old example that shows how to add a rule at runtime:
function void addRule(String pkgName, String rule, RuleBase ruleBase ) {
PackageBuilder builder = new PackageBuilder();
builder.addPackgeFromDrl( new StringReader( rule ) );
ruleBase.addPackage ( builder.addPackage() );
}
I'm trying to do a similar thing with Drools 5 but things seem to have changed. What I want is to add a rule (just as a string) to an already existing set of rules I've loaded from a drl file (the new rule does not have to be saved to the actual file though). I see KnowledgeBase has a remove rule method but no add rule.
I should also note that the set of rules I wish to add to is already executing (as in I've called fireUntilHalt()) I hope this wont make a difference.
Thanks in advance for any help, this mailing list saves me every time!
Cheers,
Justin
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users