第 18 章 Persistence
二进制持久性或 marshaling 将进程实例的状态转换为二进制数据集。二进制持久性是用于永久存储和检索信息的机制。相同的机制也应用于会话状态和工作项目状态。
当您启用进程实例的持久性时:
- Red Hat Process Automation Manager 将进程实例信息转换为二进制数据。出于性能的原因,使用自定义序列化而不是 Java 序列化。
- 二进制数据与其他进程实例元数据一起存储,如进程实例 ID、进程 ID 和进程启动日期。
会话也可以存储其他类型的状态,如计时器作业的状态,或者这些规则评估所需的数据。会话状态作为二进制数据集单独存储,以及会话和元数据的 ID。您可以通过重新载入给定 ID 的会话来恢复会话状态。使用 ksession.getId ()
获取会话 ID。
在配置持久性时,Red Hat Process Automation Manager 将保留以下内容:
- 会话状态 :这包括会话 ID、上次修改的日期、新规则需要评估的会话数据,以及计时器作业状态。
- 进程实例状态 :这包括进程实例 ID、进程 ID、上次修改的日期、上次读取访问日期、进程实例启动日期、运行时数据(包括正在执行的节点、变量值和其他进程实例数据)以及事件类型。
- 工作项目运行时状态 :这包括工作项目 ID、创建日期、名称、进程实例 ID 以及工作项目状态本身。
根据持久数据,您可以在出现故障时恢复所有正在运行的进程实例的执行状态,或者临时从内存中删除运行的实例,并在以后恢复它们。
18.1. 配置 KIE 服务器持久性
您可以通过将 Hibernate 或 JPA 参数作为系统属性传递来配置 KIE 服务器持久性。
KIE 服务器可以使用以下前缀确认系统属性,您可以使用具有以下前缀的每个 Hibernate 或 JPA 参数:
-
javax.persistence
-
hibernate
流程
要配置 KIE 服务器持久性,请完成以下任一任务:
如果要使用 Red Hat JBoss EAP 配置文件配置 KIE 服务器持久性,请完成以下任务:
-
在 Red Hat Process Automation Manager 安装目录中,进入
standalone-full.xml
文件。例如,如果您为 Red Hat Process Automation Manager 使用 Red Hat JBoss EAP 安装,请转至$EAP_HOME/standalone/configuration/standalone-full.xml
文件。 打开
standalone-full.xml
文件,并在 <system-properties&
gt; 标签下,将 Hibernate 或 JPA 参数设置为系统属性。使用 Hibernate 参数配置 KIE 服务器持久性的示例
<system-properties> ... <property name="hibernate.hbm2ddl.auto" value="create-drop"/> ... <system-properties>
使用 JPA 参数配置 KIE 服务器持久性的示例
<system-properties> ... <property name="javax.persistence.jdbc.url" value="jdbc:mysql://mysql.db.server:3306/my_database?useSSL=false&serverTimezone=UTC"/> ... <system-properties>
如果要使用命令行配置 KIE 服务器持久性,请完成以下任务:
使用
-Dkey=value
直接从命令行传递参数,如下所示:使用 Hibernate 参数配置 KIE 服务器持久性示例:
$EAP_HOME/bin/standalone.sh -Dhibernate.hbm2ddl.auto=create-drop
使用 JPA 参数配置 KIE 服务器持久性示例:
$EAP_HOME/bin/standalone.sh -Djavax.persistence.jdbc.url=jdbc:mysql://mysql.db.server:3306/my_database?useSSL=false&serverTimezone=UTC
-
在 Red Hat Process Automation Manager 安装目录中,进入