Java Drools 6:无循环和显著性
我使用Drools 6,当我在drl中混合了无环和显著性时,我有一种奇怪的行为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
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报告。