jboss 我们可以在Drools的一个规则中使用多个when then条件吗?

bxfogqkk  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(402)

我 正在 写 一 个 . drl 文件 来 实现 Drools 规则 。 根据 业务 需求 , 我 需要 为 一 个 规则 检查 3 个 条件 。 所以 我 的 问题 是 , 在 同一 个 规则 中 是否 可能 有 多 个 when
我 搜索 了 很多 小时 , 但是 我 没有 得到 任何 有用 的 信息 。 有人 能 指导 我 如何 在 drools 中 的 单个 规则 中 编写 多 个 when 吗 ?
Ie 这样 做 有 可能 吗 ?

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

中 的 每 一 个

dbf7pr2w

dbf7pr2w1#

不,80%肯定你不能。你发现我有一个打开的.drl,并做了一个尝试,说'不匹配的输入',但在第二个then后的中间标记失败。因此80%(说一些数字)。高兴的是,编译器通过了所有的第二个when没有失败。
尝试并发布。

9nvpjoqh

9nvpjoqh2#

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

cwxwcias

cwxwcias3#

不我们不能这样做。我也尝试过实现同样的方法,但最终还是编写了多个规则来满足所有when/then条件,如下所示
当条件然后执行结束时,规则“规则描述”
当条件然后执行结束时,规则“规则描述”

相关问题