第19章 永続性


バイナリーの永続性、もしくはマーシャリングは、プロセスインスタンスのステータスをバイナリーのデータセットに変換します。バイナリーの永続性は、情報を永続的に保存、取得する際に使用するメカニズムです。同じメカニズムがセッションステータスや作業アイテムのステータスにも適用されています。

プロセスインスタンスの永続性を有効にすると、以下のようになります。

  • Red Hat Process Automation Manager はプロセスインスタンス情報をバイナリーデータに変換します。パフォーマンスの理由から、Java の直列化ではなくカスタムの直列化が使用されます。
  • バイナリーデータはプロセスインスタンスに関する他のメタデータと併せて保存されます。このメタデータには、プロセスインスタンス ID、プロセス ID、プロセスの開始日が含まれます。

セッションには、タイマージョブのステータスや、ビジネスルールの評価に必要なデータなど、他の形式のステータスを格納することもできます。セッション状態は、セッションの ID およびメタデータとともにバイナリーデータセットとして別途保存されます。指定された ID でセッションを再読み込みすることにより、セッション状態を復元できます。セッション ID は、ksession.getId() を使用して取得します。

永続性が設定されていれば、Red Hat Process Automation Manager は以下を維持します。

  • Session state: セッション ID、最終変更日、ビジネスルールによる評価に必要なセッションデータ、タイマージョブのステータス。
  • Process instance state: プロセスインスタンス ID、プロセス ID、最終変更日、最終読み取りアクセス日、プロセスインスタンスの開始日、ランタイムデータ (実行されているノード、変数値、その他のプロセスインスタンスデータを含む実行ステータス)、およびイベントタイプ。
  • Work item runtime state: ワークアイテム ID、作成日、名前、プロセスインスタンス ID、およびワークアイテムステータス。

永続化したデータを基に、障害発生時にはすべての実行中のプロセスインスタンスの実行ステータスを復元したり、メモリーから実行中のインスタンスを一時的に削除し、それらを後で復元することができます。

19.1. Process Server の永続性設定

Hibernate または JPA パラメーターをシステムプロパティーとして渡すと、Process Server の永続性を設定できます。

Process Server は以下の接頭辞でシステムプロパティーを確認でき、これらの接頭辞を持つ Hibernate または JPA パラメーターをすべて使用できます。

  • javax.persistence
  • hibernate

手順

  1. Process Server の永続性を設定するには、以下のタスクのいずれかを実行します。

    Red Hat JBoss EAP 設定ファイルを使用して Process Server の永続性を設定する場合は、以下のタスクを実行します。

    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 ファイルを開き、<system-properties> タグの下に、システムプロパティーとして、Hibernate または JPA パラメーターを設定します。

      Hibernate パラメーターを使用した Process Server 永続性の設定例

      <system-properties>
          ...
              <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
          ...
      <system-properties>

      JPA パラメーターを使用した Process Server 永続性の設定例

      <system-properties>
          ...
              <property name="javax.persistence.jdbc.url" value="jdbc:mysql://mysql.db.server:3306/my_database?useSSL=false&serverTimezone=UTC"/>
          ...
      <system-properties>

    コマンドラインを使用して Process Server の永続性を設定する場合は、以下のタスクを実行します。

    1. 以下のように -Dkey=value を使用してコマンドラインからパラメーターを直接渡します。

      Hibernate パラメーターを使用して Process Server の永続性を設定する例:

      $EAP_HOME/bin/standalone.sh -Dhibernate.hbm2ddl.auto=create-drop

      JPA パラメーターを使用して Process Server の永続性を設定する例:

      $EAP_HOME/bin/standalone.sh -Djavax.persistence.jdbc.url=jdbc:mysql://mysql.db.server:3306/my_database?useSSL=false&serverTimezone=UTC

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.