记录一些Drools的学习资源
- http://www.cnblogs.com/tom-lau/p/6913315.html
- https://www.ibm.com/developerworks/cn/java/j-drools/
- http://blog.csdn.net/lifetragedy/article/details/51143914
- http://www.drools.org.cn/279.html
- http://www.open-open.com/doc/list/173?o=d
- http://dyingbleed.com
- http://blog.csdn.net/wsdc0521/article/details/50371267
- http://blog.csdn.net/lifetragedy/article/details/51143914
- http://www.cnblogs.com/ciade/p/5234791.html
http://blog.csdn.net/timedifier2/article/details/53542172
动态规则(template、DB)
http://blog.csdn.net/caicongyang/article/details/52702628
静态规则
KIE的API中有以下的几个类和接口需要介绍下:
KieServices
该接口提供了很多方法,可以通过这些方法访问KIE关于构建和运行的相关对象,比如说可以获取KieContainer,利用KieContainer来访问KBase和KSession等信息;可以获取KieRepository对象,利用KieRepository来管理KieModule等。
KieServices就是一个中心,通过它来获取的各种对象来完成规则构建、管理和执行等操作。
KieContainer
可以理解KieContainer就是一个KieBase的容器。
KieBase
KieBase就是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase本身并不包含运行时的数据之类的,如果需要执行规则KieBase中的规则的话,就需要根据KieBase创建KieSession。
KieSession
KieSession就是一个跟Drools引擎打交道的会话,其基于KieBase创建,它会包含运行时数据,包含“事实 Fact”,并对运行时数据事实进行规则运算。我们通过KieContainer创建KieSession是一种较为方便的做法,其实他本质上是从KieBase中创建出来
KieRepository
KieRepository是一个单例对象,它是一个存放KieModule的仓库,KieModule由kmodule.xml文件定义(当然不仅仅只是用它来定义)。
KieProject
KieContainer通过KieProject来初始化、构造KieModule,并将KieModule存放到KieRepository中,然后KieContainer可以通过KieProject来查找KieModule定义的信息,并根据这些信息构造KieBase和KieSession。
ClasspathKieProject
ClasspathKieProject实现了KieProject接口,它提供了根据类路径中的META-INF/kmodule.xml文件构造KieModule的能力,也就是我们能够基于Maven构造Drools组件的基本保障之一。