Java 更新事实流口水的停止规则

Java 更新事实流口水的停止规则,java,drools,rule-engine,drools-flow,Java,Drools,Rule Engine,Drools Flow,我有一个关于流口水的情节。我有一些规则。 例如: 在规则1中:我在事实pojo中设置ProductName,该pojo在某些条件下来自会话。 在规则2中:我在计算等级值,即X1、X2、X3、X4。 所以对于每一个等级,我都有一条规则来计算 来自用户的pojo事实可能要求计算任何等级值。然而,假设用户要求X4,那么从X1到X3的所有等级值也应该计算出来 我所做的是,无论何时执行任何规则;在这种情况下,我正在更新一个事实,该事实包含一个grade value属性,并且在最后编写了一条规则,该规则将检

我有一个关于流口水的情节。我有一些规则。 例如:

在规则1中:我在事实pojo中设置ProductName,该pojo在某些条件下来自会话。 在规则2中:我在计算等级值,即X1、X2、X3、X4。 所以对于每一个等级,我都有一条规则来计算

来自用户的pojo事实可能要求计算任何等级值。然而,假设用户要求X4,那么从X1到X3的所有等级值也应该计算出来

我所做的是,无论何时执行任何规则;在这种情况下,我正在更新一个事实,该事实包含一个grade value属性,并且在最后编写了一条规则,该规则将检查从Pojo传入的grade和执行的规则grade是否匹配

但是,它并不是在particuler等级上停止并执行所有等级值

请提出一些建议

==========编辑===========

规则计算X 当seq==true时 然后 计算X

规则计算x1 当seq==true时 然后 计算X1; 规则计算x2 当seq==true时 然后 计算X2

假设我要求计算X2,那么规则x和x1也应该计算。如果是x1,则只应执行规则x和x1

谢谢
库马尔·肖拉夫(Kumar Shorav)

这有点不清楚。首先,您说“还应计算从X1到X3的所有等级值”。但是(“然而,…”)似乎你想在某些规则执行后停止无论如何,如果没有一些代码显示您所拥有的(然后我们看到发生了什么)和(更清楚地)描述规则中真正应该发生的事情,这是无法解决的。@laune请查看编辑。谢谢Kumar ShoravIs,不管怎样,计算所有这些都非常昂贵?执行所有计算可能比实现一些复杂的逻辑更容易,这些逻辑根据某些输入排除一个或多个规则。