インタフェース Transaction
- 既知の実装クラスのリスト:
NoTransaction
public interface Transaction
トランザクションを表すインタフェースです。
トランザクションを制御するためのメソッドを持っています。
トランザクション制御コード例
※現在起動中のトランザクションと別に新規にトランザクション処理を起動する場合EntityManager em = ... Entity e = ... //新規にトランザクションを起動 Transaction.requiresNew(t -> { em.insert(e); //コミット成功時に実行する処理を追加 t.afterCommit(() -> { System.out.println("committed"); }); : : });
-
フィールドの概要
-
メソッドの概要
修飾子とタイプメソッド説明void
addTransactionListener
(TransactionListener listener) このトランザクションのcommit、rollbackを監視するリスナーを登録します。default void
afterCommit
(Runnable func) このトランザクションがcommitされた場合、funcを実行します。default void
afterRollback
(Runnable func) このトランザクションがrollbackされた場合、funcを実行します。void
commit()
トランザクションをコミットします。getAttribute
(Object key) このトランザクションコンテキストに紐づけられている特定の属性を取得します。static Transaction
現在の実行コンテキストに関連しているトランザクションのインスタンスを取得します。トランザクションの状態を取得します。boolean
このトランザクションがReadOnlyとしてマークされているかどうかを取得します。boolean
このトランザクションがsetRollbackOnlyされているかどうかを取得します。static void
readOnly
(Consumer<Transaction> func) トランザクションをreadOnlyモードで起動します。static <R> R
readOnly
(Function<Transaction, R> func) トランザクションをreadOnlyモードで起動します。removeAttribute
(Object key) このトランザクションコンテキストに紐づけられている特定の属性を削除します。static void
required
(Consumer<Transaction> func) トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。static <R> R
required
(Function<Transaction, R> func) トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。static void
requiresNew
(Consumer<Transaction> func) 新規にトランザクションを起動し、funcを実行します。static <R> R
requiresNew
(Function<Transaction, R> func) 新規にトランザクションを起動し、funcを実行します。static void
トランザクションをreadOnlyモードで新規に起動します。static <R> R
requiresNewReadOnly
(Function<Transaction, R> func) トランザクションをreadOnlyモードで新規に起動します。void
rollback()
トランザクションをロールバックします。void
setAttribute
(Object key, Object value) このトランザクションのコンテキストに特定の属性を紐づけます。void
このトランザクションをロールバックするものとしてマークします。static void
with
(Propagation propagation, Consumer<Transaction> func) 指定のpropagationで、トランザクションを起動しfuncを実行します。static <R> R
with
(Propagation propagation, Function<Transaction, R> func) 指定のpropagationで、トランザクションを起動しfuncを実行します。static void
with
(TransactionOption option, Consumer<Transaction> func) 指定のoptionで、トランザクションを起動しfuncを実行します。static <R> R
with
(TransactionOption option, Function<Transaction, R> func) 指定のoptionで、トランザクションを起動しfuncを実行します。
-
フィールド詳細
-
NO_TRANSACTION
トランザクションがない状態を表すTransactionのインスタンスです。 トランザクションがまだ開始されていない状態、もしくはトランザクションがサスペンドされている場合に当インスタンスが返却されます。
getStatus()
は常にTransactionStatus.NONE
を返します。
setAttribute(Object, Object)
などのその他のトランザクション制御メソッドはなにも処理しません。
-
-
メソッドの詳細
-
getCurrent
現在の実行コンテキストに関連しているトランザクションのインスタンスを取得します。 もし、トランザクションが開始されていない場合は、NO_TRANSACTION
が返却されます。- 戻り値:
-
commit
void commit()トランザクションをコミットします。 -
rollback
void rollback()トランザクションをロールバックします。 -
setRollbackOnly
void setRollbackOnly()このトランザクションをロールバックするものとしてマークします。 setRollbackOnlyされたトランザクションは最終的にはロールバックされます。 -
isRollbackOnly
boolean isRollbackOnly()このトランザクションがsetRollbackOnlyされているかどうかを取得します。- 戻り値:
- setRollbackOnlyの場合true
-
isReadOnly
boolean isReadOnly()このトランザクションがReadOnlyとしてマークされているかどうかを取得します。- 戻り値:
-
getStatus
TransactionStatus getStatus()トランザクションの状態を取得します。- 戻り値:
-
setAttribute
このトランザクションのコンテキストに特定の属性を紐づけます。- パラメータ:
key
- 属性のキーvalue
- 属性の値
-
getAttribute
このトランザクションコンテキストに紐づけられている特定の属性を取得します。 同一トランザクション内でsetAttribute()したものがあれば、その値が取得できます。- パラメータ:
key
- 属性のキー- 戻り値:
- 属性の値
-
removeAttribute
このトランザクションコンテキストに紐づけられている特定の属性を削除します。- パラメータ:
key
- 属性のキー- 戻り値:
- 削除された値
-
addTransactionListener
このトランザクションのcommit、rollbackを監視するリスナーを登録します。- パラメータ:
listener
-
-
afterCommit
このトランザクションがcommitされた場合、funcを実行します。 funcの引数にはこのトランザクションが渡されます。- パラメータ:
func
-
-
afterRollback
このトランザクションがrollbackされた場合、funcを実行します。 funcの引数にはこのトランザクションが渡されます。- パラメータ:
func
-
-
required
トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。 トランザクション制御方法は、TransactionOption
のデフォルトが適用されます。- パラメータ:
func
-
-
required
トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。 トランザクション制御方法は、TransactionOption
のデフォルトが適用されます。- パラメータ:
func
-- 戻り値:
- funcが返却する値
-
requiresNew
新規にトランザクションを起動し、funcを実行します。 トランザクション制御方法は、TransactionOption
のデフォルトが適用されます。- パラメータ:
func
-
-
requiresNew
新規にトランザクションを起動し、funcを実行します。 トランザクション制御方法は、TransactionOption
のデフォルトが適用されます。- パラメータ:
func
-- 戻り値:
- funcが返却する値
-
readOnly
トランザクションをreadOnlyモードで起動します。 ただし、すでにトランザクションが開始されている場合、 新規にトランザクションは開始せず既存のトランザクションをそのまま利用します。 これは、
TransactionOption.propagation=REQUIRED
TransactionOption.readOnly=true
でトランザクションを起動することを示します。
readOnlyモードでトランザクションが新規に起動した場合、 そのトランザクションは最終的にロールバックされます。- パラメータ:
func
-
-
readOnly
トランザクションをreadOnlyモードで起動します。 ただし、すでにトランザクションが開始されている場合、 新規にトランザクションは開始せず既存のトランザクションをそのまま利用します。 これは、
TransactionOption.propagation=REQUIRED
TransactionOption.readOnly=true
でトランザクションを起動することを示します。
readOnlyモードでトランザクションが新規に起動した場合、 そのトランザクションは最終的にロールバックされます。- パラメータ:
func
-- 戻り値:
- funcが返却する値
-
requiresNewReadOnly
トランザクションをreadOnlyモードで新規に起動します。 これは、
TransactionOption.propagation=REQUIRES_NEW
TransactionOption.readOnly=true
でトランザクションを起動することを示します。
readOnlyモードでトランザクションが新規に起動した場合、 そのトランザクションは最終的にロールバックされます。- パラメータ:
func
-
-
requiresNewReadOnly
トランザクションをreadOnlyモードで新規に起動します。 これは、
TransactionOption.propagation=REQUIRES_NEW
TransactionOption.readOnly=true
でトランザクションを起動することを示します。
readOnlyモードでトランザクションが新規に起動した場合、 そのトランザクションは最終的にロールバックされます。- パラメータ:
func
-- 戻り値:
- funcが返却する値
-
with
指定のpropagationで、トランザクションを起動しfuncを実行します。- パラメータ:
propagation
-func
-
-
with
指定のpropagationで、トランザクションを起動しfuncを実行します。- パラメータ:
propagation
-func
-- 戻り値:
- funcが返却する値
-
with
指定のoptionで、トランザクションを起動しfuncを実行します。- パラメータ:
option
-func
-
-
with
指定のoptionで、トランザクションを起動しfuncを実行します。- パラメータ:
option
-func
-- 戻り値:
- funcが返却する値
-