第 10 章 部署描述符
流程和规则存储在基于 Apache Maven 的打包中,它们称为知识存档或 KJAR。规则、流程、资产和其它项目工件是由 Maven 构建和管理 JAR 文件的一部分。保存在名为
kmodule.xml
的 KJAR 中的
META-INF
目录的文件可用于定义 KIE 基础和会话。默认情况下,这个
kmodule.xml
文件为空。
每当 KIE 服务器等运行时组件要处理 KJAR 时,它会查找
kmodule.xml
以构建运行时表示。
部署描述符对
kmodule.xml
文件进行补充,并对部署提供精细的控制。这些描述符的存在是可选的,您的部署可以成功进行。您可以使用这些描述符来设置完全技术属性,包括持久性、审计和运行时策略等 meta 值。
这些描述符允许您在多个级别上配置 KIE 服务器,包括服务器级别默认、每个 KJAR 的不同部署描述符和其他服务器配置。您可以使用描述符对默认的 KIE 服务器配置进行简单自定义,可能每个 KJAR。
您可以在名为
kie-deployment-descriptor.xml
的文件中定义这些描述符,并将此文件放到
META-INF
文件夹中的
kmodule.xml
文件。您可以通过将这个默认位置和文件名指定为系统参数来更改这个默认位置和文件名:
-Dorg.kie.deployment.desc.location=file:/path/to/file/company-deployment-descriptor.xml
10.1. 部署描述符配置
通过部署描述符,用户可以在多个级别上配置执行服务器:
服务器级别
:主要级别,以及应用到服务器上部署的所有 KJAR 的主级别。
KJAR 级别
:您可以基于每个 KJAR 配置描述符。
部署时间级别
:在部署 KJAR 时应用的描述符。
部署描述符指定的细粒度配置项优先于服务器级别,除了基于集合的配置项目时,会合并它们。层次结构与此类似:
部署时间配置 > KJAR 配置 > 服务器配置
。
部署时间配置适用于通过 REST API 进行的部署。
例如,如果在服务器级别定义的持久性模式(您可以在服务器级别定义的其中之一)是
NONE
,但在 KJAR 级别中指定为
JPA
,则实际模式将是 KJAR 的
JPA
。如果在 KJAR(或者没有部署描述符的情况下,对于持久性模式指定)的持久性模式,它将回退到服务器级配置,在这种情况下为
NONE
(如果没有服务器级别部署描述符,则为
JPA
)。
您可以配置什么配置?
高级别的技术配置细节可通过部署描述符来配置。下表列出了它们,以及每个表的可见和默认值。
Configuration | XML Entry | Permissible Valuesible Values | 默认值 |
---|---|---|---|
运行时数据的持久性单元名称
persistence-unit
任何有效的持久性软件包名称
org.jbpm.domain
审计数据的持久性单元名称
audit-persistence-unit
任何有效的持久性软件包名称
org.jbpm.domain
持久性模式
persistence-mode
JPA, NONE
Audit 模式
audit-mode
JPA、JMS 或 NONE
运行时策略
runtime-strategy
SINGLETON、PER_REQUEST 或 PER_PROCESS_INSTANCE
要注册的事件 Listener 列表
event-listeners
有效的监听程序类名称作为
|