製品ごとに異なるルールがある状況があります。
したがって、各製品ごとに 1 つの drl があります。
したがって、私が理解している限り、私には選択肢があります。
- これらすべてのナレッジ パッケージを 1 つの KnowledgeBase に追加します。
次に、Drools が製品の ID を使用して正しいルールに一致するようにします。
when
avs : AvailabilityStatus( available == true, quantity <= 50, productId = 7899 )
then
avs.setDiscountRate("0.65");
end
- 製品ごとに新しい KnowledgeBase を作成します。つまり、50 個の製品の場合、それぞれに 1 つの drl がロードされた 50 個の KnowledgeBase を作成します。
私の Web アプリでは、リクエストごとに、製品のルールを新たに評価する必要があります。
どのアプローチがより効率的かはわかりません。