3.3. 在 Java 应用程序中打包和部署 Red Hat Process Automation Manager 项目
如果要从您自己的 Java 应用程序部署项目到配置的 KIE 服务器,您可以使用 KieModuleModel
实例以编程方式创建一个 kmodule.xml
文件,该文件定义 KIE 基础和 KIE 会话,然后将项目中的所有资源添加到 KIE 虚拟文件系统 KieFileSystem
中。
先决条件
- 您有一个包含 Red Hat Process Automation Manager 商业资产的 Java 应用程序。
-
KIE 服务器已安装,并且配置了
kie-server
用户访问。有关安装选项,请参阅 规划 Red Hat Process Automation Manager 安装。
流程
(可选)如果您的项目包含 Decision Model 和 Notation (DMN)资产,请在 Java 项目的相关类路径中添加以下依赖项以启用 DMN 可执行模型。DMN 可执行模型可让 DMN 项目中的 DMN 决策表逻辑更有效地评估。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;version
> 是项目中当前使用的 Red Hat Process Automation Manager 的 Maven 工件版本(如 7.44.0.Final-redhat-00006)。注意考虑将 Red Hat Business Automation Manager (BOM)依赖项添加到项目
pom.xml
文件,而不是为单个依赖项指定 Red Hat Process Automation Manager <version
>。Red Hat Business Automation BOM 适用于 Red Hat Decision Manager 和 Red Hat Process Automation Manager。当您添加 BOM 文件时,项目中包含了来自提供的 Maven 存储库传输性依赖关系的正确版本。BOM 依赖项示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 Red Hat Business Automation BOM 的更多信息,请参阅 Red Hat Process Automation Manager 和 Maven 库版本之间的映射是什么?
使用
KieServices
API 创建带有所需 KIE 基础和 KIE 会话的KieModuleModel
实例。KieServices
API 可让您访问所有 KIE 构建和运行时配置。KieModuleModel
实例为您的项目生成kmodule.xml
文件。有关
kmodule.xml
配置的详情,请参考 第 3.1 节 “配置 KIE 模块描述符文件”。将您的
KieModuleModel
实例转换为 XML,并将 XML 添加到KieFileSystem
。以编程方式创建
kmodule.xml
,并将其添加到KieFileSystem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将项目中使用的剩余的 Red Hat Process Automation Manager 资产添加到 KieFileSystem
实例中
。工件必须采用 Maven 项目文件结构。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,项目资产同时添加为
String
变量和Resource
实例。您可以使用KieResources
工厂创建Resource
实例,也由KieServices
实例提供。KieResources
类提供了将InputStream
,URL
, 和File
对象,或一个代表您的文件系统路径的String
转换到一个KieFileSystem
可以管理的Resource
实例的方法。当将项目工件添加到
KieFileSystem
时,您还可以为Resource
对象明确分配一个ResourceType
属性:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用带有
buildAll ()
方法的KieBuilder
来构建KieFileSystem
的内容,并创建一个 KIE 容器来部署它:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 构建
ERROR
表示项目编译失败,没有生成KieModule
,且不会将任何内容添加到KieRepository
单例中。WARNING
或INFO
结果表示项目的编译成功,其中包含构建过程的相关信息。注意要从可执行规则模型构建 Java 应用程序项目中的规则资产,请验证以下依赖项是否在项目的
pom.xml
文件中:<dependency> <groupId>org.drools</groupId> <artifactId>drools-model-compiler</artifactId> <version>${rhpam.version}</version> </dependency>
<dependency> <groupId>org.drools</groupId> <artifactId>drools-model-compiler</artifactId> <version>${rhpam.version}</version> </dependency>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Process Automation Manager 中的规则资产需要这个依赖项,才能从可执行规则模型构建。此依赖项作为 Red Hat Process Automation Manager 核心打包的一部分包括,但取决于您的 Red Hat Process Automation Manager 升级历史记录,您可能需要手动添加此依赖项来启用可执行的规则模型行为。
验证依赖项后,使用以下修改后的
buildAll ()
选项来启用可执行模型:kieBuilder.buildAll(ExecutableModelProject.class)
kieBuilder.buildAll(ExecutableModelProject.class)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关可执行规则模型的详情请参考 第 3.4 节 “可执行规则模型”。