Java Drools 6:无循环和显著性

Java Drools 6:无循环和显著性,java,drools,Java,Drools,我使用Drools 6,当我在drl中混合了无环和显著性时,我有一种奇怪的行为 rule "creation OfferTranslation 1" salience 1 no-loop dialect "mvel" when not OfferTranslation( source =="Offer1" ) then insert(new OfferTranslation("Offer1","Offer1_31415")); end

我使用Drools 6,当我在drl中混合了无环和显著性时,我有一种奇怪的行为

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
我预计规则将按以下顺序触发: -翻译规则创建4 -翻译规则创建3 -翻译规则创建2 -翻译规则的创建1

但是,当我解雇他们时,我得到如下命令: -翻译规则的创建1 -翻译规则创建2 -翻译规则创建4 -翻译规则创建3

看起来“无循环”属性禁用了显著性,并且“无循环”规则具有优先级。 当我尝试不使用循环时,我得到了良好的顺序。 我怎么能同时使用无环和显著性,或者我的错误是什么


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

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


Seb&Joseph

我无法重现所描述的行为。这将是一个bug,因此报告它将毫无意义。提供完整的示例并向Drools JIRA报告。