首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drools 6:无循环和显着性

Drools 6:无循环和显着性
EN

Stack Overflow用户
提问于 2014-11-26 23:03:30
回答 1查看 1.1K关注 0票数 0

我正在使用Drools 6,当我在我的drl中混合无循环和显着性时,我有一个奇怪的行为。

代码语言:javascript
复制
rule "creation OfferTranslation 1"
    salience 1
    no-loop
    dialect "mvel"
    when 
        not OfferTranslation( source =="Offer1" )
then
    insert(new OfferTranslation("Offer1","Offer1_31415"));
end

rule "creation OfferTranslation 2"
    salience 2
    no-loop
    dialect "mvel"
    when 
        not OfferTranslation( source =="Offer2" )
then
    insert(new OfferTranslation("Offer2","Offer2_00dsdf")); 
end


rule "creation OfferTranslation 3"
    salience 3
    dialect "mvel"
    when 
        not OfferTranslation( source =="Offer3" )
then
    insert(new OfferTranslation("Offer3","Offer3_00dsf")); 
end


rule "creation OfferTranslation 4"
    salience 4
    dialect "mvel"
    when 
        not OfferTranslation( source =="Offer4" )
then
    insert(new OfferTranslation("Offer4","Offer4_0032")); 
end

我预计规则将按以下顺序触发:-规则"creation OfferTranslation 4“-规则"creation OfferTranslation 3”-规则"creation OfferTranslation 2“-规则"creation OfferTranslation 1”

然而,当我启动它们时,我得到的顺序是:-规则"creation OfferTranslation 1“-规则"creation OfferTranslation 2”-规则"creation OfferTranslation 4“-规则"creation OfferTranslation 3”

看起来,no-loop属性禁用了显着性,而no-loop规则具有优先级。当我在没有循环的情况下尝试时,我得到了良好的顺序。我如何才能同时使用无循环和显着性,或者我的错误是什么?

PS :我知道在我的例子中没有循环是没有用的,我写它是为了有比我的实际规则更简单的例子。

EN

回答 1

Stack Overflow用户

发布于 2014-11-27 15:02:19

没有bug。我们相信规则是以错误的顺序触发的,因为我们在捕获matchCreated事件的drools侦听器中使用了记录器。规则中的一个简单日志显示规则已按正确的顺序触发。

Seb & Joseph

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27152395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档