2017-07-03 87 views
1

之間的關係。 該項目有幾個從Kie工作臺構建的Kjars。而在我們的計劃中,我們希望將所有這些Kjars放入一個KieContainer中。 但我可以從文件中看到的是創造KieContainer時,它需要一個releaseId作爲參數。該參數的GroupId /的artifactId /版本Kjar,意義,對KieContainer是關係到只有1 Kjar。Can KieContainer可以加載多個包嗎?這有什麼我是新來的口水KieContainer和KieBase

所以,我怎麼能加載這些罐子只有一個KieContainer?或者將幾個Kjar裝入一個容器是不可能的?

另一個困惑是什麼KieContainer和KieBase之間的確切關係?

事先真的很感謝回答我的問題。

回答

0

首先,我知道你只是問KieContainer和KieBase,但我想知道所有5個KieConcepts重要的是要得到一個完整的圖像:

  1. KieServices:允許您創建KieContainers
  2. KieContainer:具有所有規則,功能等甲KieContainer引用可以加載KieModule及其依賴性。甲KieContainer可以具有1個或多個KieBases
  3. KieModule:定義多個KieBasesKieSessionsKieModules可以包括其他KieModules。這意味着您可以擁有包含來自不同域的資產的頂級KieModule。這是一個鏈接到schema for KieModule,顯示你可以擁有的所有選項。
  4. KieBase:表示一組資產的編譯版本。例如,您可以使用相同的規則進行無狀態和有狀態會話。另一種選擇是對於一套包裝有一個KieBase,對於另一套包裝有另一個KieBase
  5. KieSession:表示規則引擎的一個實例,其中包含KieBase中的規則。每個KieBase可以有一個或多個KieSessions

據我所知,這是不可能的幾種不同Kjars裝入一個KieContainer。

所以,我的建議是要麼

A)找到一個方法來一切都在一個Kjar結合,因此您可以創建一個 KieContainer與您的所有資產。這documentation可能會幫助您瞭解,如果這是您的用例的有效選項。

B)創建一個新的KieContainer for 您需要的每個版本的資產,並根據輸入進行相應的路由。這有更大的內存佔用,但如果你不能使用單個Kjar,這可能是最好的選擇。

相關問題