第 17 章 持久性
二进制持久性或编组,将进程实例的状态转换为二进制数据集。二进制持久性是用于永久存储和检索信息的机制。相同的机制也应用于会话状态和工作项目状态。
启用进程实例的持久性时:
- Red Hat Process Automation Manager 将进程实例信息转换为二进制数据。出于性能的原因,使用自定义序列化而不是 Java序列化。
- 二进制数据与其他进程实例元数据一起存储,如进程实例 ID、进程 ID 以及进程启动日期。
会话也可以存储其他形式的状态,如计时器作业状态或业务规则评估所需的数据。会话状态作为二进制数据集单独保存,以及会话和元数据的 ID。您可以通过重新加载具有给定 ID 的会话来恢复会话状态。使用 ksession.getId()
获取会话 ID。
在配置了持久性时,Red Hat Process Automation Manager 将保留以下内容:
- 会话状态 :这包括会话 ID、上次修改日期、业务规则需要评估的会话数据、计时器作业状态。
- 进程实例状态 :这包括进程实例 ID、进程 ID、上次修改日期、上次读取访问日期、进程实例启动日期、运行时数据(包括正在执行的节点、变量值和其他进程实例数据)以及事件类型。
- 工作项目 运行时状态 :包括工作项目 ID、创建日期、名称、进程实例 ID 以及工作项目状态本身。
根据持久性数据,您可以在故障时恢复所有正在运行的进程实例的执行状态,或者从内存中临时删除正在运行的实例,并在以后恢复它们。
17.1. 配置 KIE 服务器持久性
您可以通过传递 Hibernate 或 JPA 参数作为系统属性来配置 KIE 服务器持久性。
KIE 服务器可以识别带有以下前缀的系统属性,您可以使用带有这些前缀的每个 Hibernate 或 JPA 参数:
-
javax.persistence
-
hibernate
流程
要配置 KIE 服务器持久性,请完成以下任一任务:
如果要使用红帽 JBoss EAP 配置文件配置 KIE 服务器持久性,请完成以下任务:
-
在 Red Hat Process Automation Manager 安装目录中,导航至
standalone-full.xml
文件。例如,如果您使用红帽 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 安装目录中,导航至