パッケージ jakarta.transaction
インターフェース TransactionManager
public interface TransactionManager
TransactionManager インターフェースは、アプリケーションサーバーがトランザクション境界を管理できるようにするメソッドを定義します。
- バージョン:
- Jakarta Transactions 2.0
方法の概要
修飾子と型メソッド説明voidbegin()新しいトランザクションを作成し、それを現在のスレッドに関連付けます。voidcommit()現在のスレッドに関連付けられているトランザクションを完了します。int現在のスレッドに関連付けられているトランザクションのステータスを取得します。呼び出しスレッドのトランザクションコンテキストを表すトランザクションオブジェクトを取得します。voidresume(Transaction tobj) 提供された Transaction オブジェクトによって表されるトランザクションと呼び出しスレッドのトランザクションコンテキストの関連付けを再開します。voidrollback()現在のスレッドに関連付けられているトランザクションをロールバックします。void現在のスレッドに関連付けられているトランザクションを変更して、トランザクションの唯一の可能な結果がトランザクションのロールバックになるようにします。voidsetTransactionTimeout(int seconds) begin メソッドを使用して、現在のスレッドによって開始されたトランザクションに関連付けられているタイムアウト値を変更します。suspend()呼び出しスレッドに現在関連付けられているトランザクションを中断し、中断されているトランザクションコンテキストを表す Transaction オブジェクトを返します。
メソッドの詳細
begin
新しいトランザクションを作成し、それを現在のスレッドに関連付けます。- 例外:
NotSupportedException- スレッドがすでにトランザクションに関連付けられており、TransactionManager の実装がネストされたトランザクションをサポートしていない場合にスローされます。SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
commit
void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityExceptionSE, IllegalStateExceptionSE, SystemException現在のスレッドに関連付けられているトランザクションを完了します。このメソッドが完了すると、スレッドはトランザクションに関連付けられなくなります。- 例外:
RollbackException- トランザクションがコミットではなくロールバックされたことを示すためにスローされます。HeuristicMixedException- ヒューリスティックな決定が行われたこと、および一部の関連する更新がコミットされ、他のロールバックが行われたことを示すためにスローされます。HeuristicRollbackException- ヒューリスティックな決定が行われ、関連するすべての更新がロールバックされたことを示すためにスローされます。SecurityExceptionSE- スレッドがトランザクションのコミットを許可されていないことを示すためにスローされます。IllegalStateExceptionSE- 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
getStatus
現在のスレッドに関連付けられているトランザクションのステータスを取得します。- 戻り値:
- トランザクションステータス。現在のスレッドにトランザクションが関連付けられていない場合、このメソッドは Status.NoTransaction 値を返します。
- 例外:
SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
getTransaction
呼び出しスレッドのトランザクションコンテキストを表すトランザクションオブジェクトを取得します。- 戻り値:
- 呼び出し元のスレッドに関連付けられたトランザクションを表す
Transactionオブジェクト。 - 例外:
SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
resume
void resume(Transaction tobj) throws InvalidTransactionException, IllegalStateExceptionSE, SystemException 呼び出し元のスレッドと、指定された Transaction オブジェクトによって表されるトランザクションとのトランザクションコンテキストの関連付けを再開します。このメソッドが戻ると、呼び出し元のスレッドは指定されたトランザクションコンテキストに関連付けられます。- パラメーター:
tobj- 再開されるトランザクションを表すTransactionオブジェクト。- 例外:
InvalidTransactionException- パラメーター transaction オブジェクトに無効なトランザクションが含まれている場合にスローされます。IllegalStateExceptionSE- スレッドがすでに別のトランザクションに関連付けられている場合にスローされます。SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
rollback
現在のスレッドに関連付けられているトランザクションをロールバックします。このメソッドが完了すると、スレッドはトランザクションに関連付けられなくなります。- 例外:
SecurityExceptionSE- スレッドがトランザクションのロールバックを許可されていないことを示すためにスローされます。IllegalStateExceptionSE- 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
setRollbackOnly
現在のスレッドに関連付けられているトランザクションを変更して、トランザクションの唯一の可能な結果がトランザクションのロールバックになるようにします。- 例外:
IllegalStateExceptionSE- 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
setTransactionTimeout
begin メソッドを使用して、現在のスレッドによって開始されたトランザクションに関連付けられているタイムアウト値を変更します。アプリケーションがこのメソッドを呼び出さなかった場合、トランザクションサービスはトランザクションタイムアウトにデフォルト値を使用します。
- パラメーター:
seconds- タイムアウトの値(秒単位)。値がゼロの場合、トランザクションサービスはデフォルト値を復元します。値が負の場合、SystemException がスローされます。- 例外:
SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
suspend
呼び出し元のスレッドに現在関連付けられているトランザクションを一時停止し、一時停止されているトランザクションコンテキストを表す Transaction オブジェクトを返します。呼び出し元のスレッドがトランザクションに関連付けられていない場合、メソッドは null オブジェクト参照を返します。このメソッドが戻ると、呼び出し元のスレッドはトランザクションに関連付けられていません。- 戻り値:
- 一時停止されたトランザクションを表すトランザクションオブジェクト。
- 例外:
SystemException- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。