DRL中global变量的定义
先看个例子,java api:
List<String> list = new ArrayList<>();
KieSession kieSession = kiebase.newKieSession();
kieSession.setGlobal( "myGlobalList", list );
drl规则文件:
global java.util.List myGlobalList;
rule "Using a global"
when
// Empty
then
myGlobalList.add( "My global list" );
end
注意: 不要使用global变量去连接条件,除非它是一个常量,有固定的值。由于global变量并不是在working memory中的, 所以drools引擎是无法感知它的变化
总结: 通过上面的例子我们可以看出,global变量是如何使用的,先在drl规则文件中定义和使用,再通过kiessesion的java api 设置值。
本文详细解释了在DRL规则引擎中如何定义和使用全局变量。通过Java API设置全局变量,并在DRL规则文件中引用,实现数据的跨规则传递。强调了全局变量不应用于规则条件,除非作为常量。
1271

被折叠的 条评论
为什么被折叠?



