规则引擎 Drools (二):KIE

KIE = Knowledge is Everything

在 JBoss 定义的 knowledge 除了规则引擎 Drools 之外,还有工作流引擎 jBPM。

下面介绍几个 KIE 的概念:

KieServices

KieServices 是一个线程安全的单例:

KieServices kieServices = KieServices.Factory.get();  

KieServices 是访问规则引擎其它服务的中心。

以创建 KieContainer 实例为例:

KieContainer kieContainer = kieServices.newKieClasspathContainer();  

KieModule

KieModule 是一个标准的 Java Maven 工程,包含了 pom.xmlkmodule.xml 和规则等必要资源。

KieModule 可以包含子 KieModule。

KieBase

知识仓库。

KieContainer

KieModule 及子 KieModule 所有 KieBase 的容器。

获取 KieContainer 的两种方式:

  • 通过 classpath 加载规则
  • 通过 Maven GAV 加载规则(使用 KIE CI)

KieSession

用于与规则引擎进行交互的会话。

会话分为两类:

  • 有状态的 KieSession
  • 无状态的 StatelessKieSession