0
私は単純なDroolsプロジェクトを作成しました。 すべてが正常に動作しますが、私のルールは1回ではなく2回実行されます。Drools:ステートレスセッションで2回実行される単純ルール
私のルールを確認してください:
package rules
rule "age and type match"
when
$droolsIntro : rules.DroolsInstruction(type == "Manager") && rules.DroolsInstruction(age >= 20)
then
System.out.println("age and type match");
System.out.println($droolsIntro.introduceYourself());
end
コードを確認してください:
:List<DroolsInstruction> facts = new ArrayList<DroolsInstruction>(); DroolsInstruction object3 = new DroolsInstruction("Manager", 25); DroolsInstruction object4 = new DroolsInstruction("Policeman", 31); facts.add(object3); facts.add(object4); DroolsDynamicJar drools = new DroolsDynamicJar(); StatelessKieSession kSession = drools.getStatelessSessionWithJar(); kSession.execute(facts);
そしてここでは、ルールが同じオブジェクトに対して2回実行されたことを示して出力されます
年齢と一致する マネージャー、25、偽
年齢と型が一致 マネージャー、25、偽
なぜ?
ありがとうございました!説明をありがとう、laune、それは私がこれを得るために簡単ではなかった:) – MiamiBeach