KIESession 分为两类:
KIESessionKIESession 会在多次与规则引擎进行交互中,维护会话的状态。 定义 KieSession,在 kmodule.xml 文件中定义 type 为 stateful 的 session:
Tip:stateful 是 type 属性的默认值。 获取 KIESession 实例:
接下来,可以在 KIESession 执行一些操作。 最后,如果需要清理 KIESession 维护的状态,调用 dispose() 方法。 StatelessKIESession与 KIESession 相反,StatelessKIESession 隔离了每次与规则引擎的交互,不会维护会话的状态。 如果将 session 比作编程语言中的函数,StatelessKIESession 就是无副作用的函数。 StatelessKIESession 适用场景:
定义 StatelessKIESession,在 kmodule.xml 文件中定义 type 为 stateless 的 session:
获取 StatelessKIESession 实例:
通过 KieServices 获取 command 工厂类 KieCommands:
可以使用工程类 KieCommands 调用 newXXXCommand 开头的方法创建 command 实例。 会话执行 command:
|
|
来自: 邵飞翔 > 《drools系列》