Drools Record - Archered/war-repository GitHub Wiki

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);
⚠️ **GitHub.com Fallback** ⚠️