[rules-users] Adding rules at runtime

Nestor Tarin Burriel nestabur at gmail.com
Thu Aug 27 04:18:37 EDT 2009


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

2009/8/27 Justin King <justin.matthew.king at gmail.com>

> 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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090827/478dd308/attachment.html 


More information about the rules-users mailing list