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