2016-07-28 75 views
-2

假设我有1000个流氓和20个客户的规则。我想解雇那些特定于客户的规则。有可能一个规则适用于多于一个客户。我知道哪个客户正在使用该应用程序,因此我希望获得适用于客户的规则列表,以及我需要从数据库获取以激发这些规则的事实列表。 首先得到两个列表后,我会从数据库中获取值,然后激发该特定客户的所有规则。从规则中获取事实清单

+0

显示您的代码。 –

+0

@JeroenHeier我还没有写出它....这是给我的要求...现在我正在检查它是否可以通过流口水或不... – pratik2392

+0

好的。所以什么阻止你这样做,我的意思是什么问题,你在哪里卡住 – Maverick

回答

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公司”和“花衣”的规则,同时使用两种“纸”的规则。

+0

好的...但我看不出它是如何解决我的问题的....在这里,您已经举了一个2个客户的例子...让我们有一个场景,我们有3个客户A,B和C. 10个规则,其中5个规则是A,4个规则是B,6个规则是C。ABC都有一些规则只适用于他们,我不知道那些规则是哪些,一些规则是通用的所有和一些是AB和BC通用的。我知道哪些客户在应用程序启动时已登录。所以基于此,我想从DRL中获得要被解雇的规则列表以及将要解雇它们所需要的事实列表。 – pratik2392