3.4. トランザクションオブジェクトストアの設定

トランザクションにはオブジェクトを保存する場所が必要です。オブジェクトストレージのオプションの 1 つが JDBC データソースです。特にパフォーマンスが気になる場合、JDBC オフジェクトストアはファイルシステムまたは ActiveMQ ジャーナルオブジェクトストアよりも速度が遅くなる場合があります。

重要

トランザクションログのストレージタイプとして Apache ActiveMQ Artemis ジャーナルを使用するよう transactions サブシステムが設定されている場合、JBoss EAP の 2 つのインスタンスは同じディレクトリーを使用してジャーナルを保存することはできません。アプリケーションサーバーインスタンスは同じ場所を共有することはできず、アプリケーションサーバーインスタンスごとに一意な場所を設定する必要があります。

注記

トランザクションオブジェクトストアがないと、データの一貫性を保てなくなる可能性があります。そのため、オブジェクトストアを 安全な ドライブに配置する必要があります。

JDBC データソースをトランザクションオブジェクトストアとして使用

JDBC データソースをトランザクションオブジェクトストアとして使用するには、以下の手順に従います。

  1. データソース (例: TransDS) を作成します。非 XA データソースの手順は、JBoss EAP『設定ガイド』の「非 XA データソースの作成」を参照してください。JBoss EAP『設定ガイド』の説明どおり、オブジェクトストアが適切に動作するには、データソースの JDBC ドライバーを JAR デプロイメントとしてではなく、コアモジュールとしてインストール する必要があることに注意してください。
  1. データソースの jta 属性を false に設定します。

    /subsystem=datasources/data-source=TransDS:write-attribute(name=jta, value=false)
  2. jdbc-store-datasource 属性を、使用するデータソースの JNDI 名に設定します (例: java:jboss/datasources/TransDS)。

    /subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
  3. use-jdbc-store 属性を true に設定します。

    /subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
  4. JBoss EAP サーバーを再起動し、変更を反映します。

トランザクション JDBC ストア属性

以下の表は、JDBC オブジェクトストレージに関係する利用可能な属性をすべて表しています。

注記

この表は、管理モデルで使用される属性名を示しています (管理 CLI を使用している場合など)。XML で使用される名前は管理モデルの名前と異なる場合があるため、XML で使用される要素を EAP_HOME/docs/schema/wildfly-txn_4_0.xsd のスキーマ定義ファイルで確認してください。

表3.2 トランザクション の JDBC ストア属性

プロパティー説明

use-jdbc-store

トランザクションに対して JDBC ストアを有効にするには、true に設定します。

jdbc-store-datasource

ストレージに使用される JDBC データソースの JNDI 名。

jdbc-action-store-drop-table

起動時にアクションストアテーブルをドロップおよび再作成するかどうか。デフォルトは false です。

jdbc-action-store-table-prefix

アクションストアテーブル名の接頭辞。

jdbc-communication-store-drop-table

起動時にコミュニケーションストアテーブルをドロップおよび再作成するかどうか。デフォルトは false です。

jdbc-communication-store-table-prefix

コミュニケーションストアテーブル名の接頭辞。

jdbc-state-store-drop-table

起動時にステートストアテーブルをドロップおよび再作成するかどうか。デフォルトは false です。

jdbc-state-store-table-prefix

ステートストアテーブル名の接頭辞。

ActiveMQ ジャーナルオブジェクトストアの使用

以下の手順に従って、ActiveMQ ジャーナルオブジェクトストアを使用します。

  1. use-journal-store 属性を true に設定します。

    /subsystem=transactions:write-attribute(name=use-journal-store,value=true)
  2. JBoss EAP サーバーを再起動し、変更を反映します。