drools中的no-loop和lock-on-active有啥区别

Posted

技术标签:

【中文标题】drools中的no-loop和lock-on-active有啥区别【英文标题】:what is the difference between no-loop and lock-on-active in droolsdrools中的no-loop和lock-on-active有什么区别 【发布时间】:2013-06-07 04:53:57 【问题描述】:

以下是使用“无循环”的规则示例:

rule "Even Number Rule"   
dialect "java"  
no-loop  
      when  
       n : Number( number !=0 && (number%2)==0 , value : number)  
    then  
        modify(n)setNumber(8);  
      end

【问题讨论】:

【参考方案1】:

长话短说:

no-loop:避免由 SAME 规则的 RHS 引起的规则重新激活。 lock-on-active:避免重新激活规则,不管原因是什么。

长篇大论:http://ilesteban.wordpress.com/2012/11/16/about-drools-and-infinite-execution-loops/

希望对你有帮助,

【讨论】:

同一个问题还有很多其他答案,但这个解释得最好。

以上是关于drools中的no-loop和lock-on-active有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

检查 Drools 列表中的特定元素

drools中的条件 when

规则引擎Drools在贷后催收业务中的应用

Drools 规则中的全局变量

IntelliJ IDEA 中的 Drools 支持

drools执行完某个规则后终止别的规则执行