Tomcat 7 で Drools 6.0.0.Beta2 を実行しています。すべてのルールが最初のペイロードで 1 回正常に実行され、ペイロードが最初。問題はいずれかのルールの状態にあると示唆されましたが、最初のペイロードでルールが完全に実行されるため、何が表示されるのかわかりません。ルールは個別のルールフローにあり、測定のパラメーターに異なる値を使用するだけの 2 番目のタイプのルールが多数あります。
最初の 2 つのルールの例を次に示します。
rule "encounter type values"
ruleflow-group "encounter-types"
when
$f: Foo()
$b: Bar() from $f.getBars()
$s: Foo.Something(type == Foo.Something.TYPE_1 || type == Foo.Something.TYPE_2 || type == Foo.Something.TYPE_3, value> 0.0) from $b.getSomethings()
then
FlyingMonkey m = new FlyingMonkey($f, $s.getDate(), $s.getType, $s.getValue());
insert(m);
end
rule "do math for type and date"
ruleflow-group "yay-math"
when
$m: FlyingMonkey(value!=null || score!=null, type=="TYPE1", age>-30, age<30)
then
Measurement fact = new Measurement($m, 1, 2, 3, 4, 5, 6);
insert(fact);
end
これが起こっている理由を知っている人はいますか?私が使用しているソフトウェア バージョンのバグですか、それとも私のルールが 2 回目に不可解に違反する可能性が高いですか?
編集:私が使用しているルールは、Drools バージョン 5.0.1 で完全に機能しました。