2

ルール内からDrools4にグローバルを設定するにはどうすればよいですか?ルールが起動した場合にブール値を設定して、顕著性の低い別のルールからそれを読み取れるようにします。

4

3 に答える 3

1

Drools 5.xを使用していると仮定すると、ルールの結果でこれを行うことができます。

kcontext.getKnowledgeRuntime()。setGlobal(name、value);

于 2009-11-30T18:40:53.027 に答える
0

ここではグローバルを使用しません。他の事実から新しい事実を推測しています。新しい事実を「挿入」するだけで、他のルールがそれに基づいて実行されます。

rule "some rule"
when
    //…
then
    insert(new MyNewFact())
end

(新しい) グローバルの挿入に応じて Drools がルールを再評価するという保証はなく、他のルールが起動しない可能性があります。ただし、ファクトが挿入 (または撤回、または変更) されると、再評価されます。

于 2011-01-14T15:01:48.833 に答える