2011-06-17 28 views

回答

4

您可以在规则中定义全局变量。这个变量可以通过Java来填补这样的:

public void init() { 
     StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession(); 

     String string = "foo"; 
     // setGlobal 'string' as 'var' in rule 
     ksession.setGlobal("var", string); 
} 

在规则,这一全球性可以通过“全局”关键字来访问:

global String var; 

rule "Test" 
    when 
     # actual condition 
    then 
     # RHS 
end 
+0

哎,fnst你是对的,我能做到这一点的方法但它不符合我的要求。我想在规则本身初始化常量,这可能吗?我在网络和论坛搜索它,但无法得到任何帮助... – 2011-06-24 04:23:14

+0

是的,我知道我的回答并不完全适用于您的请求。但我认为它可能有帮助。关于一个可定义的常数,不幸的是我什么都不知道。 – fnst 2011-06-27 06:15:24