从规则获取事实列表

时间:2016-07-28 03:24:33

标签: drools rule-engine

假设我在流口水和20个客户中有1000条规则。我想解雇那些特定于客户的规则。一条规则可能适用于超过客户的规则。我知道哪个客户正在使用该应用程序,因此我想获得适用于客户的规则列表以及我需要从db获取这些规则的事实列表。 在获得两个列表之后,我将从db获取值,然后触发该特定客户的所有规则。

1 个答案:

答案 0 :(得分:0)

这里最好的方法是使用一些智能包装。将客户独有的规则放在他们自己的包中。不同的共享规则集可以放在其他包中。

例如,您可以按如下方式定义kbases:

<?xml version="1.0" encoding="UTF-8"?>
<kmodule
        xmlns="http://jboss.org/kie/6.0.0/kmodule">
    <kbase name="acme" 
           packages="com.dunder.rules.acme, com.dunder.rules.paper">
        <ksession name="acmeSession" type="stateless"/>
    </kbase>
    <kbase name="pipepiper" 
           packages="com.dunder.rules.pipepiper, com.dunder.rules.paper">
        <ksession name="piedpiperSession"type="stateless" />
    </kbase>
</kmodule>

以上将使用“Acme”和“Pied Piper”的规则,同时使用“纸张”规则。