是在简单规则中发射的规则,而不是基于优先级而不是独有的



我正在尝试与Easyrules一起工作。

我创建了3个规则A,B&C具有优先级1、2&分别为3。

即使规则A 被评估为 true ,并且具有最高优先级,但正在评估优先级较低的规则(即B& c)。

>

该规则优先级如何?

是否有关于将优先级较高的规则评估为true的工作,那么未评估优先级的规则?

优先级与是否执行规则无关。它仅表示规则的执行顺序

来自文档:

轻松规则中的每个规则都有优先级。这代表默认 命令射击规则的命令。默认情况下,值较低 表示更高的优先级。

您也可以阅读:

如果其组合规则的所有条件 很满意。当应用复合规则时,所有行动 组成规则是按照自然规则顺序执行的 默认情况下的规则优先级。

如果要在应用规则时跳过引擎的下一个规则,则应使用skipOnFirstAppliedRule参数参数到true

RulesEngine  rulesEngine = RulesEngineBuilder.aNewRulesEngine()
                          .withSkipOnFirstAppliedRule(true)
                          .build();
// add your rules in the RulesEngine
rulesEngine.registerRule(new A());
rulesEngine.registerRule(new B());
rulesEngine.registerRule(new C());
// execute the rules
rulesEngine.fireRules();

在您的情况下,仅执行A规则。

最新更新