パッケージ jakarta.transaction
インターフェース UserTransaction
public interface UserTransaction
UserTransaction インターフェースは、アプリケーションがトランザクション境界を明示的に管理できるようにするメソッドを定義します。- バージョン:
- Jakarta Transactions 2.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
begin()
新しいトランザクションを作成し、それを現在のスレッドに関連付けます。void
commit()
現在のスレッドに関連付けられているトランザクションを完了します。int
getStatus()
現在のスレッドに関連付けられているトランザクションのステータスを取得します。void
rollback()
現在のスレッドに関連付けられているトランザクションをロールバックします。void
setRollbackOnly()
現在のスレッドに関連付けられているトランザクションを変更して、トランザクションの唯一の可能な結果がトランザクションのロールバックになるようにします。void
setTransactionTimeout(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 SystemException
begin メソッドを使用して、現在のスレッドによって開始されたトランザクションに関連付けられているタイムアウト値を変更します。アプリケーションがこのメソッドを呼び出さなかった場合、トランザクションサービスはトランザクションタイムアウトにデフォルト値を使用します。
- パラメーター:
seconds
- タイムアウトの値(秒単位)。値がゼロの場合、トランザクションサービスはデフォルト値を復元します。値が負の場合、SystemException がスローされます。- 例外:
SystemException
- トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。