5.2. 使用 KIE 服务器 Java 客户端 API 执行 DMN 服务
KIE Server Java 客户端 API 提供了轻量级的方法,通过 KIE 服务器的 REST 或 JMS 接口调用远程 DMN 服务。这个方法减少了与 KIE 基础交互所需的运行时依赖项数量。通过让它们能够按适当的速度单独迭代,从决策定义分离调用代码会增加灵活性。
有关 KIE Server Java 客户端 API 的更多信息,请参阅使用 KIE API 与 Red Hat Process Automation Manager 交互。
先决�件
-
KIE 服务器已安装并配置,包括具有
kie-server
角色的用户的已知用户名和凭证。有关安装选项,请参阅 规划 Red Hat Process Automation Manager 安装。 您已将 DMN 项目构建为 KJAR 工件,并将其部署到 KIE 服务器中。理想情况下,您已将 DMN 项目构建为可执行模型,以便更有效地执行:
mvn clean install -DgenerateDMNModel=yes
mvn clean install -DgenerateDMNModel=yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关项目打包和部署以及可执行模型的更多信息,请参阅打包和部署 Red Hat Process Automation Manager 项目。
- 您有包含 DMN 模型的 KIE 容器的 ID。如果有多个模型,还必须知道相关模型的模型命名空间和模型名称。
�程
在客户端应用程序中,将以下依赖项添加到 Java 项目的相关类路径中:
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 的更多信息,请参阅 RHPAM 产品和 maven 库版本之间的映射是什么?
使用适当的连接信息实例化
KieServicesClient
实例。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在 KIE 服务器 Java 客户端实例上调用方法
getServicesClient ()
,从 KIE 服务器 Java 客户端获取DMNServicesClient
Client:DMNServicesClient dmnClient = kieServicesClient.getServicesClient(DMNServicesClient.class );
DMNServicesClient dmnClient = kieServicesClient.getServicesClient(DMNServicesClient.class );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dmnClient
现在可在 KIE 服务器上执行决策服务。为所需模型执行决策服务。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此时,
dmnResult
包含来自评估的 DMN 模型的所有决定结果。您还可以使用
DMNServicesClient
的替代方法在模型中执行特定的 DMN 决定。注意如果 KIE 容器只包含一个 DMN 模型,您可以省略
$modelNamespace
和$modelName
,因为 KIE Server API 默认选择它。