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 中构建。
流程
-
在 Business Central 中,进入 Menu
Deploy Execution servers。 - 在 Server Configuration 下,选择现有配置,或者点击 New Server Configuration 来创建配置。
- 在 Deployment Units 下,点 Add Deployment Unit。
- 如果需要,在 Alias 字段中添加一个别名。
- 在窗口内的表中,选择一个 GAV,然后单击 GAV 旁边的 Select 来填充部署单元数据字段。
- 选择 Start Deployment Unit? 复选框来立即启动该服务,或者清除复选框以稍后启动该服务。
点 Finish。
为该服务创建新部署单元,并放置在为此服务器配置配置的 KIE 服务器中。如果您选择了 Start Deployment Unit?,该服务将启动。
2.6.2. 在 Business Central 中启动、停止和删除部署单元
启动部署单元时,可以使用部署单元中的服务。如果只有一个 KIE 服务器连接到 Business Central,或者所有连接的 KIE 服务器都位于同一服务器配置中,则服务会在项目部署时在部署单元中自动启动。如果有多个服务器配置,会在部署时提示您指定服务器和部署详情并启动部署单元。但是,您可以随时手动启动、停止或删除 Business Central 中的部署单元,以便根据需要管理部署的服务。
流程
-
在 Business Central 中,进入 Menu
Deploy Execution servers。 - 在 Server Configuration 下,选择一个配置。
- 在 Deployment Units 下,选择一个部署单元。
- 点右上角的 Start、Stop 或 Remove。要删除正在运行的部署单元,请停止它,然后将其删除。
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
默认被设置为容器别名。
当您为包含不同 GroupId
和 ArtifactId
名称的多个容器设置别名时,您可以每次都使用相同的别名与 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
名称的情况下部署最新版本的进程。