29.2. トランザクションの設定
29.2.1. トランザクションの設定 (ライブラリーモード)
Red Hat JBoss Data Grid では、ライブラリーモードのトランザクションは、同期化およびトランザクションリカバリーと共に設定できます。トランザクションは全体として (同期化およびトランザクションリカバリーを含む)、リモートクライアントサーバーモードで使用することはできません。
キャッシュ操作を実行するため、キャッシュには環境のトランザクションマネージャーへの参照が必要となります。
TransactionManagerLookup
インターフェースの実装に属するクラス名を用いて、キャッシュを設定します。キャッシュが初期化されると、指定クラスのインスタンスが作成され、getTransactionManager()
メソッドを呼び出してトランザクションマネージャーへの参照を見つけ、これを返します。
ライブラリーモードでは、トランザクションは以下のように設定されます。
手順29.1 ライブラリーモードでのトランザクションの設定 (XML 設定)
<local-cache name="default" <!-- Additional configuration information here -->> <transaction mode="BATCH" stop-timeout="60000" auto-commit="true" protocol="DEFAULT" recovery-cache="recoveryCache"> <locking <!-- Additional configuration information here --> > <versioning versioningScheme="SIMPLE"/> <!-- Additional configuration information here --> </local-cache>
mode
を定義してtransactions
を有効にします。デフォルトでモードはNONE
であるため、トランザクションは無効になります。有効なトランザクションのモードはBATCH
、NON_XA
、NON_DURABLE_XA
、FULL_XA
です。stop-timeout
を定義し、キャッシュの停止時に継続しているトランザクションがある場合にインスタンスはその継続しているトランザクションが終了するのを待機できるようにします。デフォルトは30000
ミリ秒に設定されます。auto-commit
を有効にし、単一操作のトランザクションを手動で開始しなくても済むようにします。デフォルトはtrue
に設定されます。- 使用されているコミットの
protocol
を定義します。有効なコミットプロトコルはDEFAULT
およびTOTAL_ORDER
です。 - リカバリー関連情報が保持される
recovery-cache
の名前を定義します。デフォルトは__recoveryInfoCacheName__
に設定されます。 versioningScheme
属性をSIMPLE
として定義してエントリーのversioning
を有効にします。デフォルトはNONE
に設定され、これはバージョン管理が無効にされていることを示します。
29.2.2. トランザクションの設定 (リモートクライアントサーバーモード)
Red Hat JBoss Data Grid は、リモートクライアントサーバーモードでトランザクションを提供しません。デフォルトで、唯一サポートされている設定は、以下のようなトランザクションではない設定です。
例29.1 リモートクライアントサーバーモードでのトランザクション設定
<cache> <!-- Additional configuration elements here --> <transaction mode="NONE" /> <!-- Additional configuration elements here --> </cache>
重要
リモートクライアントサーバーモードでは、JBoss Data Grid が互換モードで使用され、クラスターに JBoss Data Grid サーバーインスタンスとライブラリーインスタンスの両方が含まれない限り、トランザクション要素が
NONE
に設定されます。このときにトランザクションがライブラリーモードインスタンスで設定される場合は、サーバーインスタンスでもトランザクションを設定する必要があります。