2

我正在编写一个 .drl 文件来实现 Drools 规则。根据业务需求,我需要检查单个规则的 3 个条件。所以我的问题是,是否可以when在同一规则中有多个。

我确实搜索了很多小时,但没有得到任何有用的信息。有人可以指导我如何when在流口水的单个规则中编写多个。

即可以这样做吗?

rule "Test rule 1"
    when 
        condition1
    then
        <execute code>
    when
        condition2
    then
        <execute code>
end
4

3 回答 3

2

不,80% 肯定你不能。您用打开的 .drl 抓住了我并尝试了一下,说“输入不匹配”,但在第二个 .drl 之后在中间令牌上失败了then。因此是 80%(比如说一些数字)。编译器很高兴地通过了第二个when,没有失败。

尝试并发布。

于 2013-06-26T11:30:03.473 回答
0

不,你不能。基本上,您将需要实施两条规则,每条规则都有一个when块。结果应该正是您想要的。

于 2013-06-26T11:44:52.513 回答
0

不,我们不能这样做。我也尝试实现相同的方法,但最终编写了多个规则来满足所有 when/then 条件,如下所示

当 CONDITION 然后 EXECUTION 结束时规则“RULE DESC”

当 CONDITION 然后 EXECUTION 结束时规则“RULE DESC”

于 2022-02-01T10:24:43.930 回答