drools規則語言指南(三)Global全局變量

DRL中global變量的定義

先看個例子,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

相關文章
相關標籤/搜索