规则引擎 Drools(八):运行时组件 Query

Query 利用了 Drools 强大的模式匹配特性,从会话中获取信息。结构上,Query 只有 LHS 没有 RHS,支持使用参数来控制 LHS 条件。 Query 提供了两种查询方式: 按需查询 实时查询 示例 数据模型 Java 代码: public class Person { private »

规则引擎 Drools(七):运行时组件 Channel

Channel 提供了一个更佳的方式,可以从会话内部向外部环境传递信息。 KieSession 提供了方法注册和注销 Channel: void registerChannel(String name, Channel channel) void unregisterChannel(String name) 实例 DRL: rule "test" when then channels['hello'].send("World" »

规则引擎 Drools(六):运行时组件 Global

Global 是会话与外部环境之间的通讯的纽带。通过 Global,既可以向会话中传递信息,也可以从会话中接收信息。 KieSession 提供了方法设置和获取 Global 值: void setGlobal(String identifier, Object value) Object getGlobal(String identifier) 示例一 为规则 test 添加 enable 属性, »

规则引擎 Drools(五):规则分组

Drools 为规则提供了分组机制,使得每次只激活一组规则。 规则属性 agenda-group 声明了当前规则所属的分组 规则属性 lock-on-active 保证同一个分组内的规则,不会被相同的对象再次激活 示例一 DRL 代码: rule "Group 1" agenda-group "group1" lock-on-active when then System.out.println("Group 1" »