先看个例子,java api:java
List<String> list = new ArrayList<>(); KieSession kieSession = kiebase.newKieSession(); kieSession.setGlobal( "myGlobalList", list );
drl规则文件:api
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 设置值。code