Drools中的嵌套规则



我有一个.drl文件,其中包含100多个规则。大约有40条规则类似规则"1",大约有35条规则类似于规则"2",其余规则类似于"3"。

rule "1"
    when
        m: MyBeanClass( something1 == "train" && something2 == somevalue2)
    then
        m.setSomeThing(someOtherValue);
        update(m);
    end
rule "2"
    when
        m: MyBeanClass( something1 == "bus" && something2 == somevalue2)
    then
        m.setSomeThing(someOtherValue);
        update(m);
    end
rule "3"
    when
        m: MyBeanClass( something1 == "car" && something2 == somevalue2)
    then
        m.setSomeThing(someOtherValue);
        update(m);
    end

在触发所有规则时,所有规则都将被执行,这是我不想要的。如果"something1"不等于"train",那么我希望执行流直接转到第41条规则,这与这里的规则"2"类似。

请提出建议。

谢谢,Shardul

我有三个"car"、"bus"one_answers"train"的作用域规则来设置值,然后41规则接受该作用域值并对其进行操作。

您仍然需要编写44条规则,但不必为每个范围界定案例重复41条规则。

最新更新