如何在规则中设置Drools 4中的全局?如果规则触发,我想设置一个布尔值,以便它可以从另一个具有较低显着性的规则中读取它。
答案 0 :(得分:1)
假设您正在使用Drools 5.x,您可以在规则后果中执行此操作:
kcontext.getKnowledgeRuntime()。setGlobal(name,value);
答案 1 :(得分:0)
您可以执行以下操作:
drools.getWorkingMemory()。setGlobal ...(类似于上面,kris所说的)。
答案 2 :(得分:0)
我不会在这里使用全球。你从其他事实推断出一个新的事实,你可以“插入”新事实并让其他规则解决。
rule "some rule"
when
//…
then
insert(new MyNewFact())
end
无法保证Drools会重新评估您的规则以响应插入(新)全局规则,而您的其他规则可能不会触发。但是,它会根据插入(或收回或修改)的事实进行重新评估。