博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
drools使用记录
阅读量:2377 次
发布时间:2019-05-10

本文共 2002 字,大约阅读时间需要 6 分钟。

常用API

KIE是jBoss里面一些相关项目的统称,其中我们比较熟悉的就有jBPM和Drools

这些项目都有一定的关联关系,并且存在一些通用的API,比如说涉及到构建(building)、部署(deploying)和加载(loading)等;
jBoss通过KIE将jBPM和Drools等相关项目进行了一个整合,统一了他们的使用方式,提供了常见的公共API如KieServices、KieContainer、KieSession等。

通过KieServices对象得到一个KieContainer,利用kieContainer对象创建一个新的KieSession,创建session的时候传入了一个name,这个就是我们定义的kmodule.xml文件中定义的ksession的name。

kieContainer根据kmodule.xml定义的ksession的名称找到KieSession的定义,然后创建一个KieSession的实例。
KieSession就是一个到规则引擎的链接,通过它就可以跟规则引擎通讯,并且发起执行规则的操作。
通过kSession.insert方法来将事实(Fact)插入到引擎中,也就是Working Memory中。 然后通过kSession.fireAllRules方法来通知规则引擎执行规则。

KieContainer可以理解为一个KieBase的容器。

KieBase就是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase本身并不包含运行时的数据之类的,如果需要执行规则KieBase中的规则的话,就需要根据KieBase创建KieSession。

调用demo

public static void main(final String[] args) {        //通过KieServices对象得到一个KieContainer,        // 利用kieContainer对象创建一个新的KieSession,创建session的时候传入了一个name,这个就是我们定义的kmodule.xml文件中定义的ksession的name。        KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();        System.out.println(kc.verify().getMessages().toString());        KieSession ksession = kc.newKieSession("mingKS");        XiaoMing xiaoMing = new XiaoMing();        xiaoMing.setMoney(50);//        通过kSession.insert方法来将事实(Fact)插入到引擎中,也就是Working Memory中。 然后通过kSession.fireAllRules方法来通知规则引擎执行规则。        ksession.insert(xiaoMing);        ksession.fireAllRules();        ksession.dispose();    }

kmodule.xml

依赖jar包

7.0.0.Final
org.kie
kie-api
${drools.version}
org.drools
drools-core
${drools.version}
org.drools
drools-compiler
${drools.version}
org.drools
drools-decisiontables
${drools.version}
org.drools
drools-templates
${drools.version}

转载地址:http://pbaxb.baihongyu.com/

你可能感兴趣的文章
心急吃不了热豆腐 脚踏实地玩儿转大数据
查看>>
中国电信大数据价值挖掘:聚焦商业模式探索
查看>>
“大数据”时代的喜与忧
查看>>
政府搭建云平台 迎接“大数据时代”
查看>>
宁家骏:大数据比云计算更为落地
查看>>
IBM PureData:破解大数据的利器
查看>>
实施大数据项目时所需要做的三件事
查看>>
北京开放政府信息资源 “大数据”供社会化利用
查看>>
数据安全在裸奔:大数据是黄金更是刺刀
查看>>
互联网金融火爆预示大数据时代来临
查看>>
大数据安全和隐私问题永远无法解决
查看>>
中国网库董事长王海波:实体经济也需要大数据
查看>>
互联网大会:大数据驱动的智能创新
查看>>
评论:大数据是否仅仅只是炒作?
查看>>
让大数据成为政务信息化的战略资源
查看>>
大数据时代企业须把握三个变化
查看>>
华为发布敏捷交换机备战大数据
查看>>
百度企业营销会免费开讲助渝企“搜赢大数据时代”
查看>>
大数据挖掘变革 美赛达软硬云引领车联网商业蓝海
查看>>
大数据市场火爆 互联网思维激发运营商潜能
查看>>