Drools Engine执行规则的顺序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Drools Engine执行规则的顺序?相关的知识,希望对你有一定的参考价值。

我的情况是规则文件中的所有规则都必须检查执行。如果我的理解是正确的,那么文件所说的规则将由发动机任意执行。

我有疑问或怀疑。

  1. 为什么所有规则都会按顺序执行,无论我执行它们多少次,无论多少次。 而且我没有使用任何突出或其他功能来实现这一目标。
  2. 我在许多地方得到了答案,我必须使用显着特征来按顺序执行它们。如果我使用突出性并且我需要执行所有规则,它是否会真正达到大规模的性能。如果是,它如何影响性能,甚至规则引擎也将执行所有规则任意说一些随机顺序。

提前致谢。

答案

所有模式和约束匹配的规则以未指定的顺序执行,除非显着性要求根据这些值进行激发。

规则触发不是随机的,因此可能按照它们写在某个DRL文件上的顺序是顺序的。

使用显着性不会明显影响性能。在链表(“议程”)中输入规则时会观察到显着性值,您可以阅读该代码以说服自己。

但是,除非有充分的理由,否则不应考虑使用显着性。这通常表明对逻辑编程范式理解不足。

以上是关于Drools Engine执行规则的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

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

Drools只执行一个规则或者执行完当前规则之后不再执行其他规则(转)

Drools 规则引擎一文读懂

使用Drools来实现规则引擎

在 Drools 6 中执行成功规则后退出

Drools-如何找出所有匹配的规则?