Drools Engine执行规则的顺序?

时间:2017-12-20 07:27:01

标签: jboss drools rule-engine

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

我有疑问或怀疑。

  1. 为什么所有规则都会按顺序执行,无论我执行它们多少次,无论多少次 而且我没有使用任何突出或其他功能来实现这一目标。

  2. 我在许多地方得到了答案我必须使用显着性功能在订单中执行它们。 如果我使用突出性并且我需要执行所有规则,它是否会真正达到大规模的性能。 如果是,它如何影响性能,甚至规则引擎也会随意执行所有规则,说一些随机顺序。

  3. 提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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

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

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