第 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

流程

  1. 要配置 KIE 服务器持久性,请完成以下任一任务:

    如果要使用 Red Hat JBoss EAP 配置文件配置 KIE 服务器持久性,请完成以下任务:

    1. 在 Red Hat Process Automation Manager 安装目录中,进入 standalone-full.xml 文件。例如,如果您为 Red Hat Process Automation Manager 使用 Red Hat JBoss EAP 安装,请转至 $EAP_HOME/standalone/configuration/standalone-full.xml 文件。
    2. 打开 standalone-full.xml 文件,并在 &lt ;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 服务器持久性,请完成以下任务:

    1. 使用 -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 logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.