Drools中的嵌套规则

时间:2013-06-23 12:19:08

标签: nested drools rules rule

我有一个包含100多条规则的.drl文件。规则“1”约有40个规则,规则“2”约35个,休息规则为“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

1 个答案:

答案 0 :(得分:0)

我有三个“汽车”,“公共汽车”和“火车”设定值的范围规则,然后41规则接受该范围值并对其进行操作。

你仍然需要编写44条规则,但是你不必为每个范围大小写重复41条。