Skip to content

Drools Record

Warhero edited this page Jun 29, 2017 · 2 revisions

1. Most commonly used API

core interface:

  • org.drools.builder.KnowledgeBuilder
  • org.drools.KnowledgeBase
  • org.drools.agent.KnowledgeAgent
  • org.drools.runtime.StatefulKnowledgeSession
  • org.drools.runtime.StatelessKnowledgeSession

factory interface

  • org.drools.builder.KnowledgeBuilderFactory
  • org.drools.io.ResourceFactory
  • org.drools.KnowledgeBaseFactory
  • org.drools.agent.KnowledgeAgentFactory

code sample

load typical rule file(drl)

kbuilder.add(ResourceFactory.newUrlResource(url), ResourceType.DRL);  
if (kbuilder.hasErrors()) {  
    System.err.println(builder.getErrors().toString());  
}           
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();  
kbase.addKnowledgePackages(builder.getKnowledgePackages());  
StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession();  
ksession.insert(new Fibonacci( 10 ));  
ksession.fireAllRules();  
ksession.dispose();

load rule stream resource file(drf)

kbuilder.add(ResourceFactory.newUrlResource(url), ResourceType.DRF);  
if (kbuilder.hasErrors()) {  
    System.err.println(builder.getErrors().toString());  
}           
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();  
kbase.addKnowledgePackages(builder.getKnowledgePackages());  
StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession();  
ksession.insert(new Fibonacci( 10 ));  
ksession.fireAllRules();  
ksession.dispose();

load excel rule resource file(excel)

dtconf.setInputType(DecisionTableInputType.XLS);  
dtconf.setWorksheetName("Tables_2");  
kbuilder.add(ResourceFactory.newUrlResource("file://IntegrationExampleTest.xls"), ResourceType.DTABLE, dtconf);

Clone this wiki locally