Drools Rules Server をサービスとして使用しています。デシジョンテーブルを使用しています
Pre Rules Movie Object:
actor: "unknown"
movie: "Ghostbusters"
rating: 9
Drools デシジョン テーブルに 2 つの単純なルールがあります。最初のルールは、値 ( movie=="Ghostbusters"
) をチェックしてから、そのオブジェクトの呼び出しを設定しますsetActor("Bill Murray")
。
2 番目のルールは、Actor が何であるかをチェックします。この 2 番目のルールには 2 つの行があります。 if Actor == "Bill Murray"
のアクションを呼び出しますsetRating(10)
。で、もしactor == "unknown"
setRating(8)
最初のルールは期待どおりに実行され、getActor
"Bill Murray" であることを示すために出力できますが、2 番目のルールでは、actor == "unknown"
アクションは常に実行されます。その行にgetActor
「Bill Murray」と印刷しても、「不明」ルールを使用しています。
オブジェクトがルールから戻ってくるActor = Bill Murray
と、すべての値がルールに「正しい」設定になっていますが、ルールを評価するときに、ルールの外部で作成した元のオブジェクトがルールで常に使用されているようです。
意思決定テーブルまたはルール テーブル間のオブジェクトを「更新」するために drools ルール サーバーを呼び出すための呼び出しに追加する必要があるものはありますか?