Drools 从规则中获取事实列表

Drools 从规则中获取事实列表,drools,rule-engine,Drools,Rule Engine,假设我有1000条drool规则和20个客户。我想取消那些特定于客户的规则。一条规则可能适用于多个客户。我知道哪个客户正在使用该应用程序,因此基于此,我希望获得适用于该客户的规则列表,以及我需要从db获得的触发这些规则的事实列表。 首先获取两个列表后,我将从db获取值,然后为该特定客户触发所有规则 最好的方法是使用一些智能包装。将客户独有的规则放入他们自己的包中。不同的共享规则集可以放在其他包中 例如,您可以如下定义KBase: 上面有“Acme”和“Pied Piper”的规则,但都使用“

假设我有1000条drool规则和20个客户。我想取消那些特定于客户的规则。一条规则可能适用于多个客户。我知道哪个客户正在使用该应用程序,因此基于此,我希望获得适用于该客户的规则列表,以及我需要从db获得的触发这些规则的事实列表。
首先获取两个列表后,我将从db获取值,然后为该特定客户触发所有规则

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

例如,您可以如下定义KBase:



上面有“Acme”和“Pied Piper”的规则,但都使用“纸质”规则。

@JeroenHeier我还没有写出来……这是给我的要求……现在我正在检查是否可以通过drool来完成……好的。是什么阻止了你这么做,我是说问题出在哪里,你在哪里stuck@Maverick我是Drool的新手,我不知道该怎么做,也不知道是否可以实现……所以我需要的是一点指导,如果可能的话,如何在Drool中实现相同的功能……如果您知道哪些规则适用于客户X,哪些事实(事实类型)适用于特定的规则集,这是可能的。-每个客户最好有一个(事实)数据库。好吧……但我不知道它如何解决我的问题……这里你举了一个2个客户的例子……让我们假设一个场景,其中有3个客户a、B和C。共有10条规则,其中5条规则用于a,4条规则用于B,ABC都有一些只适用于他们的规则,我不知道这些规则是什么,有些规则对所有人都是通用的,有些规则对AB和BC都是通用的。我知道哪个客户在应用程序启动时已登录。基于此,我想从drl中获取要触发的规则列表,以及触发这些规则所需的事实列表。