2.6. Business Central 中的部署单元

项目中的服务会在配置的 KIE 服务器上通过实例化 KIE 容器或 部署单元 在运行时被消耗。当您在 Business Central 中构建和部署项目时,部署单元会在配置的服务器中自动创建。您可以根据需要在 Business Central 中启动、停止或删除部署单元。您还可以从之前构建的项目创建额外的部署单元,并在 Business Central 中配置的现有或新的 KIE 服务器中启动它们。

2.6.1. 在 Business Central 中创建部署单元

一个或多个部署单元应该已作为 Red Hat Process Automation Manager 配置的一部分存在,但如果没有,您可以从之前在 Business Central 中构建的项目中创建一个部署单元。

先决条件

  • 您要创建新的部署单元的项目已在 Business Central 中构建。

流程

  1. 在 Business Central 中,进入 MenuDeployExecution servers
  2. Server Configuration 下,选择现有配置,或者点击 New Server Configuration 来创建配置。
  3. Deployment Units 下,点 Add Deployment Unit
  4. 如果需要,在 Alias 字段中添加一个别名。
  5. 在窗口内的表中,选择一个 GAV,然后单击 GAV 旁边的 Select 来填充部署单元数据字段。
  6. 选择 Start Deployment Unit? 复选框来立即启动该服务,或者清除复选框以稍后启动该服务。
  7. Finish

    为该服务创建新部署单元,并放置在为此服务器配置配置的 KIE 服务器中。如果您选择了 Start Deployment Unit?,该服务将启动。

2.6.2. 在 Business Central 中启动、停止和删除部署单元

启动部署单元时,可以使用部署单元中的服务。如果只有一个 KIE 服务器连接到 Business Central,或者所有连接的 KIE 服务器都位于同一服务器配置中,则服务会在项目部署时在部署单元中自动启动。如果有多个服务器配置,会在部署时提示您指定服务器和部署详情并启动部署单元。但是,您可以随时手动启动、停止或删除 Business Central 中的部署单元,以便根据需要管理部署的服务。

流程

  1. 在 Business Central 中,进入 MenuDeployExecution servers
  2. Server Configuration 下,选择一个配置。
  3. Deployment Units 下,选择一个部署单元。
  4. 点右上角的 StartStopRemove。要删除正在运行的部署单元,请停止它,然后将其删除。

2.6.3. KIE 容器别名

KIE 容器(部署单元)的别名是 KIE 服务器实例中的一个代理,可帮助处理同一容器部署的不同版本。您可以将单个别名链接到容器的不同版本。当容器升级时,链接的别名会自动指向容器的新版本。有关创建 KIE 容器别名的详情,请参考 第 2.6.1 节 “在 Business Central 中创建部署单元”

例如,如果客户端应用程序每次部署容器新版本时都会更改,则客户端应用程序可以指向容器别名。部署新容器版本时,相关的别名会被更新,所有请求都会自动路由到新容器,而无需更改客户端应用程序。

考虑包含单个进程并使用以下属性的示例项目:

  • GroupId: org.jbpm
  • artifactId: my-project
  • 版本: 1.0
  • containerID: my-project

当您更新、构建和部署上述项目时,相关的项目会在 KIE 服务器中使用最新版本更新,并包含以下属性:

  • GroupId: org.jbpm
  • artifactId: my-project
  • 版本 :2.0

如果要部署项目的最新版本,则需要将 containerID 更新为 my-project2,因为 my-project 容器指向旧版本。

注意

每个项目版本包含不同的 containerID 名称。关联的客户端应用程序需要了解它们与之交互的所有项目版本。

容器别名还可帮助您管理 KIE 容器。您可以在创建容器时显式设置容器别名,或者根据关联的 ArtifactId 名称隐式设置容器别名。如果需要,您可以为多个容器添加一个别名。如果没有指定容器别名,则项目的 ArtifactId 默认被设置为容器别名。

当您为包含不同 GroupIdArtifactId 名称的多个容器设置别名时,您可以每次都使用相同的别名与 KIE 服务器交互。

您通常在以下用例中使用容器别名:

  • 使用最新版本的 进程在客户端应用程序中启动新的进程实例
  • 与一个进程的现有特定版本进行交互
  • 在一个进程中的现有任务进行交互
  • 与进程定义镜像交互 并形成

例如,在部署项目的 1.0 版本后,您将向以下 KIE Server REST API 端点发送 POST 请求以启动项目中的进程:

/http://localhost:8230/kie-server/services/rest/server/containers/my-project/processes/evaluation/instances

发送的请求从 org.jbpm:my-project:1.0 中启动一个新进程实例,其中 my-project 定义为容器别名。之后,当您部署项目的 2.0 版本并发送同一请求时,新实例从 org.jbpm:my-project:2.0 启动。您可以在不添加 containerID 名称的情况下部署最新版本的进程。