1.2.3. クラスタ化されたキャッシュおよびトランザクション
キャッシュのオブジェクトに変更が加えられ、 その変更がトランザクションのコンテキストで行われた場合、 変更のレプリケーションはトランザクションが正常に終了するまで延期されます。 すべての変更は、 呼出側のトランザクションに関連付けられたリストに保持されます。 トランザクションがコミットされると、 変更がレプリケートされます。 コミットされない場合は、 ロールバック上で変更をローカルで取り消し、 変更リストを放棄します。 この結果、 ネットワークトラフィックとオーバーヘッドがゼロになります。 例えば、 呼出側が 100 個の変更を行いトランザクションをロールバックすると、 何もレプリケートされずネットワークトラフィックは発生しません。
呼出側に関連付けられたトランザクションやバッチがない場合、 変更は即座にレプリケートされます。 例えば、 前述の例では、 各変更に対して 100 のメッセージがブロードキャストされます。 そのため、 バッチやトランザクションなしでの実行は、 JDBC における自動コミットが有効な状態 (各操作が自動的に即座にコミットされる) での実行と同様であると考えることができます。
JBoss Cache は追加設定なしでほとんどの一般的なトランザクションマネージャと使用することができます。 また、 カスタムのトランザクションマネージャルックアップを作成できる API も提供します。
上記の説明はバッチに対しても同様で、 同じように動作します。