我是流口水的新手。
该项目有几个基于 Kie 工作台构建的 Kjar。在我们的程序中,我们希望将所有这些 Kjar 放入一个 KieContainer 中。
但我从文档中可以看到,在创建KieContainer时,它需要一个releaseId作为参数。参数为 GroupId/ArtifactId/Kjar 的版本,即 KieContainer 仅与 1 个 Kjar 相关。
那么如何才能将这些 Jars 仅加载到一个 KieContainer 中呢?或者不可能将多个罐子装入一个容器中?
另一个困惑是 KieContainer 和 KieBase 之间的确切关系是什么?
非常感谢提前回答我的问题。
首先,我知道您只询问了 KieContainer 和 KieBase,但我认为了解所有 5 个 KieConcepts 才能获得全面了解非常重要:
-
凯伊服务: 允许您创建Kie集装箱公司.
-
Kie集装箱:引用了所有规则、函数等。 AKie集装箱可以加载一个Kie模块及其依赖项。 AKie集装箱可以有 1 个或多个KieBases
-
Kie模块:定义多个KieBases and 凯会议. Kie模块可以包括其他Kie模块。这意味着您可以拥有顶级水平Kie模块包含来自不同领域的资产。这是一个链接架构为Kie模块 https://github.com/kiegroup/droolsjbpm-knowledge/blob/master/kie-api/src/main/resources/org/kie/api/kmodule.xsd,显示您可以拥有的所有选项。
-
KieBase:表示一组资源的编译版本。例如,您可以拥有具有相同规则的无状态和有状态会话。另一种选择是拥有一个KieBase对于一组包和另一组包KieBase另一组包。
-
凯会话:表示规则引擎的实例,其中包含规则KieBase. Each KieBase可以有一个或多个凯会议
据我所知,不可能将多个不同的 Kjar 加载到一个 KieContainer 中。
所以我的建议是
A) 找到一种方法将所有内容组合到一个 Kjar 中,这样您就可以创建一个
KieContainer 包含您的所有资产。这文档 http://planet.jboss.org/post/configuration_and_convention_based_building_and_utilization可以帮助您了解根据您的用例这是否是一个有效的选项。
B) 创建一个新的 KieContainer
您需要的资产的每个版本,并根据输入进行相应的路由。这会占用更大的内存,但如果您无法使用单个 Kjar,这可能是最佳选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)