2016-07-28 37 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