クラス TransactionAwareProxyFactory<T>
java.lang.ObjectSE
org.springframework.batch.support.transaction.TransactionAwareProxyFactory<T>
トランザクション対応オブジェクト(リスト、セット、マップなど)のファクトリ。ファクトリによって作成されたインスタンスでメソッドが呼び出されたときにトランザクションがアクティブである場合、トランザクションはターゲットオブジェクトのコピーを作成し、そのコピーに対してすべての操作を実行します。トランザクションがコミットした場合にのみ、コピーでターゲットが再初期化されます。
データベースを必要とせずにトランザクションの振る舞いをテストするためのコレクションやマップとうまく連携します。基本実装はリスト、セット、マップを処理します。サブクラスは、begin(Object)
および commit(Object, Object)
を実装して、他のリソースのサポートを提供できます。
通常、マルチスレッドでの使用は意図されていませんが、コレクションの append only version
は、マップ内の異なるキーで動作するスレッドを分離します。(スレッドは、同じトランザクションで作成されたエントリの削除に制限されています。)
- 作成者:
- Dave Syer
メソッドのサマリー
修飾子と型メソッド説明protected final T
トランザクション内で使用できるターゲットのコピーを作成して、変更を元のターゲットから分離します。protected void
作業コピーの状態を取り、それを元のターゲットにコミットします。static <T> ListSE<T>
static <K,
V> ConcurrentMapSE<K, V> static <T> SetSE<T>
static <T> ListSE<T>
static <T> ListSE<T>
createTransactionalList
(ListSE<T> list) static <K,
V> MapSE<K, V> static <K,
V> MapSE<K, V> createTransactionalMap
(MapSE<K, V> map) static <T> SetSE<T>
static <T> SetSE<T>
createTransactionalSet
(SetSE<T> set)
メソッドの詳細
begin
トランザクション内で使用できるターゲットのコピーを作成して、変更を元のターゲットから分離します。渡された元の値からターゲットを分離するために、ファクトリコンストラクターからも呼び出されます。- パラメーター:
target
- ターゲットオブジェクト (リスト、セット、マップ)- 戻り値:
- 独立したコピー
commit
作業コピーの状態を取り、それを元のターゲットにコミットします。ターゲットは、トランザクション中にコピーに適用されたすべての変更を反映します。- パラメーター:
copy
- 作業コピー。target
- ファクトリの元のターゲット。
createTransactionalMap
createTransactionalMap
createAppendOnlyTransactionalMap
createAppendOnlyTransactionalSet
createTransactionalSet
createTransactionalSet
createAppendOnlyTransactionalList
createTransactionalList
createTransactionalList