3.4. トランザクションオブジェクトストアの設定
トランザクションにはオブジェクトを保存する場所が必要です。オブジェクトストレージのオプションの 1 つが JDBC データソースです。特にパフォーマンスが気になる場合、JDBC オフジェクトストアはファイルシステムまたは ActiveMQ ジャーナルオブジェクトストアよりも速度が遅くなる場合があります。
トランザクションログのストレージタイプとして Apache ActiveMQ Artemis ジャーナルを使用するよう transactions
サブシステムが設定されている場合、JBoss EAP の 2 つのインスタンスは同じディレクトリーを使用してジャーナルを保存することはできません。アプリケーションサーバーインスタンスは同じ場所を共有することはできず、アプリケーションサーバーインスタンスごとに一意な場所を設定する必要があります。
トランザクションオブジェクトストアがないと、データの一貫性を保てなくなる可能性があります。そのため、オブジェクトストアを 安全な ドライブに配置する必要があります。
JDBC データソースをトランザクションオブジェクトストアとして使用
JDBC データソースをトランザクションオブジェクトストアとして使用するには、以下の手順に従います。
データソースの
jta
属性をfalse
に設定します。/subsystem=datasources/data-source=TransDS:write-attribute(name=jta, value=false)
jdbc-store-datasource
属性を、使用するデータソースの JNDI 名に設定します (例:java:jboss/datasources/TransDS
)。/subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
use-jdbc-store
属性をtrue
に設定します。/subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
- JBoss EAP サーバーを再起動し、変更を反映します。
トランザクション JDBC ストア属性
以下の表は、JDBC オブジェクトストレージに関係する利用可能な属性をすべて表しています。
この表は、管理モデルで使用される属性名を示しています (管理 CLI を使用している場合など)。XML で使用される名前は管理モデルの名前と異なる場合があるため、XML で使用される要素を EAP_HOME/docs/schema/wildfly-txn_4_0.xsd
のスキーマ定義ファイルで確認してください。
表3.2 トランザクション の JDBC ストア属性
プロパティー | 説明 |
---|---|
use-jdbc-store |
トランザクションに対して JDBC ストアを有効にするには、 |
jdbc-store-datasource | ストレージに使用される JDBC データソースの JNDI 名。 |
jdbc-action-store-drop-table |
起動時にアクションストアテーブルをドロップおよび再作成するかどうか。デフォルトは |
jdbc-action-store-table-prefix | アクションストアテーブル名の接頭辞。 |
jdbc-communication-store-drop-table |
起動時にコミュニケーションストアテーブルをドロップおよび再作成するかどうか。デフォルトは |
jdbc-communication-store-table-prefix | コミュニケーションストアテーブル名の接頭辞。 |
jdbc-state-store-drop-table |
起動時にステートストアテーブルをドロップおよび再作成するかどうか。デフォルトは |
jdbc-state-store-table-prefix | ステートストアテーブル名の接頭辞。 |
ActiveMQ ジャーナルオブジェクトストアの使用
以下の手順に従って、ActiveMQ ジャーナルオブジェクトストアを使用します。
use-journal-store
属性をtrue
に設定します。/subsystem=transactions:write-attribute(name=use-journal-store,value=true)
- JBoss EAP サーバーを再起動し、変更を反映します。