Drools5学习笔记1-最常用API
2009-11-03 11:21
483 查看
最常用到的核心接口API:
最常用到的工厂类:
典型例子:
org.drools.builder.KnowledgeBuilder org.drools.KnowledgeBase org.drools.agent.KnowledgeAgent org.drools.runtime.StatefulKnowledgeSession org.drools.runtime.StatelessKnowledgeSession
最常用到的工厂类:
org.drools.builder.KnowledgeBuilderFactory org.drools.io.ResourceFactory org.drools.KnowledgeBaseFactory org.drools.agent.KnowledgeAgentFactory
典型例子:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 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();加载普通规则定义文件的写法:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 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();加载规则流资源文件的写法:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 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.startProcess( "Buy Order Process" ); ksession.dispose();加载决策树,excel规则文件的写法:
DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType( DecisionTableInputType.XLS ); dtconf.setWorksheetName( "Tables_2" ); kbuilder.add( ResourceFactory.newUrlResource( "file://IntegrationExampleTest.xls" ), ResourceType.DTABLE, dtconf );以xml文件配置规则资源文件,并且加载这个规则集合文件的写法:
<change-set xmlns='http://drools.org/drools-5.0/change-set' xmlns:xs='http://www.w3.org/2001/XMLSchema-instance' xs:schemaLocation='http://drools.org/drools-5.0/change-set change-set-5.0.xsd' > <add> <resource source='classpath:org/domain/someRules.drl' type='DRL' /> <resource source='classpath:org/domain/aFlow.drf' type='DRF' /> </add> </change-set> //加载规则集合文件 KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newUrlResource( url ), ResourceType.ChangeSet );
相关文章推荐
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
- Java学习笔记之常用API学习笔记2
- Tensorflow 学习笔记 - 常用 API
- IOS 学习笔记 2015-03-24 OC-API-常用结构体
- node.js常用API 学习笔记
- Java基础班学习笔记(11)API常用类(二)
- 黑马学习笔记--常用API 第二部分
- Java基础班学习笔记(11)API常用类(三)
- compass General 常用api学习[Sass和compass学习笔记]
- pthread学习笔记(二)--pthread常用API及简单介绍
- javascript学习笔记—DOM常用API、属性、方法、函数
- Java学习笔记之常用API学习笔记3
- java学习笔记——API中的常用类和StringBuffer
- 黑马学习笔记_常用API总结(一)
- Java基础学习笔记十三 常用API之正则表达式、Date、DateFormat、Calendar
- 【Android基础笔记02】 API Guide学习和常用布局及基本UI控件
- 黑马学习笔记--常用API
- 【Java学习笔记】12.常用API
- Java基础学习笔记十四 常用API之基本类型包装类