私は複数のルールが一致していて、最も低いSalienceでルールを取得しています。 これはソースファイルです。Droolが最低特権ルールを返す
package HotelAnalyticsLuxuryPromotions
#generated from Decision Table
import com.mmt.analytics.hotel.promotions.drools.HotelPromotionsDroolsPojo;
import com.mmt.analytics.hotel.promotions.drools.HotelPromotionsDroolRules;
#From row number: 11
rule "for Luxury Hotel Promotions_11"
salience 9
when
fact: HotelPromotionsDroolsPojo(
eval(HotelPromotionsDroolRules.checkHotelId(fact,"12345")),
eval(HotelPromotionsDroolRules.checkRsq(fact,"*")),
eval(HotelPromotionsDroolRules.checkValidCheckInCheckOut(fact,"*")),
eval(HotelPromotionsDroolRules.checkLoggedStatus(fact,"*")))
eval(HotelPromotionsDroolRules.checkActiveStatus(fact,"1"))
then
fact.setPackageName("Pack 2");
fact.setRatePlanCode("ABC 2");
fact.setTariffUrl("TariffUrl");
fact.setClickUrl("ClickUrl");
fact.setInclusionText("InclusionText");
end
#From row number: 12
rule "for Luxury Hotel Promotions_12"
salience 10
when
fact: HotelPromotionsDroolsPojo(
eval(HotelPromotionsDroolRules.checkHotelId(fact,"12345")),
eval(HotelPromotionsDroolRules.checkRsq(fact,"*")),
eval(HotelPromotionsDroolRules.checkValidCheckInCheckOut(fact,"*")),
eval(HotelPromotionsDroolRules.checkLoggedStatus(fact,"*")))
eval(HotelPromotionsDroolRules.checkActiveStatus(fact,"1"))
then
fact.setPackageName("Pack 1");
fact.setRatePlanCode("ABC 1");
fact.setTariffUrl("TariffUrl");
fact.setClickUrl("ClickUrl");
fact.setInclusionText("InclusionText");
end
#From row number: 14
rule "for Luxury Hotel Promotions_14"
salience 5
when
fact:HotelPromotionsDroolsPojo(
eval(HotelPromotionsDroolRules.checkHotelId(fact,"12345")),
eval(HotelPromotionsDroolRules.checkRsq(fact,"*")),
eval(HotelPromotionsDroolRules.checkValidCheckInCheckOut(fact,"*")),
eval(HotelPromotionsDroolRules.checkLoggedStatus(fact,"*")))
eval(HotelPromotionsDroolRules.checkActiveStatus(fact,"1"))
then
fact.setPackageName("Pack 3");
fact.setRatePlanCode("ABC 3");
fact.setTariffUrl("TariffUrl");
fact.setClickUrl("ClickUrl");
fact.setInclusionText("InclusionText");
end
最高の優先度を持つルールを返さなければならないと思いますが、その逆があります。以下は
は、ルールエンジンのコードです
StatelessKnowledgeSession kSession = promotionsDroolManager.getStatelessSession();
kSession.execute(droolsPojo);
私はこれらのよだれ構成プロパティーに
promotions.drools.agent.scan.resources=true
promotions.drools.agent.scan.directories=true
promotions.drools.resource.scanner.interval=1800
promotions.drools.agent.monitor.change.set.events=true
promotions.drools.knowledge.agent.name=Promotions_Knowledge_agent
promotions.drools.base.knowledge.agent.change.set.path=promotions.xml
Plsのを使用しています。提案
おかげさまで、Laune氏に感謝します。あなたは同じ左翼であれば教えてくれますか?どのようにしてHighest Salienceルールを得ることができますか? –
いくつかのアイデアを追加しました。 – laune