搜索

第 17 章 持久性

download PDF

二进制持久性或编组,将进程实例的状态转换为二进制数据集。二进制持久性是用于永久存储和检索信息的机制。相同的机制也应用于会话状态和工作项目状态。

启用进程实例的持久性时:

  • 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

流程

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

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

    1. 在 Red Hat Process Automation Manager 安装目录中,导航至 standalone-full.xml 文件。例如,如果您使用红帽 JBoss EAP 安装红帽流程自动化管理器,请转至 $EAP_HOME/standalone/configuration/standalone-full.xml 文件。
    2. 打开 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 服务器持久性,请完成以下任务:

    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.