class HeuristicCommitException
class HeuristicException
class HeuristicMixedException
class HeuristicRollbackException
class TransactionRequiredException
class TransactionRolledbackException
class InvalidTransactionException
public final static int STATUS_ACTIVE
トランザクションは対象オブジェクトと関連付けられ,活動状態にある。実装は,トランザクションが起動された後この状態を返し、トランザクションがロールバックに関してマークされなかった場合は, あらゆる準備に関連するCoodinatorに優先する。
public final static int STATUS_COMMITTED
トランザクションは, 対象オブジェクトと関連付けられ,確定されている。発見的手法が存在するようにみえるが,そうでなければトランザクションは消滅し,NOTransactionが返される。
public final static int STATUS_COMMITTING
トランザクションは, 対象オブジェクトと関連付けられ,確定プロセスにある。実装は,確定を決定した場合はこの状態を返すが,おそらく一つ以上のResourcesからの応答を待っているため,まだプロセスを終了してはいない。
public final static int STATUS_MARKED_ROOLBACK
トランザクションは, 対象オブジェクトと関連付けられ,ロールバックに関してマークされている。これはおそらくsetRollBackOnly操作の結果である。
public final static int STATUS_NO_TRANSACTION
現時点で対象オブジェクトと関連付けられるトランザクションはない。これはトランザクション完了後に発生する。
public final static int STATUS_PREPARED
トランザクションは, 対象オブジェクトと関連付けられ,準備されている。例えば下位はすべてVote.Commitに応答している。対象オブジェクトは, 優先方法として上位の指示を待っている状態にある。
public final static int STATUS_PREPARING
トランザクションは, 対象オブジェクトと関連付けられ、準備過程にある。実装は,準備を始めた場合にこの状態を返すが,おそらく一つ以上のResourcesから準備のための応答を待っているため,まだプロセスを終了してはいない。
public final static int STATUS_ROLLEDBACK
トランザクションは, 対象オブジェクトと関連付けられ,その結果,ロールバックとして確定されている。発見的手法が存在するようであるが,そうでなければトランザクションは消滅し,NoTransactionが返される。
トランザクションは, 対象オブジェクトと関連付けられ,ロールバックのプロセスにある。実装は,ロールバックを確定した場合にこの状態を返すが,おそらく一つ以上のResourcesからの応答を待っているため,まだプロセスを終了してはいない。
public final static int STATUS_UNKNOWN
トランザクションは, 対象オブジェクトと関連付けられるが,現状態を確定することはできない。これは過渡的な条件であり,最終的には連続呼出しが異なる状態を返す。
public abstract void begin()
throws IllegalStateException
新しいトランザクションを生成し,現スレッドと関連付ける。
public abstract void commit()
throws TransactionRolledbackException,HeuristicMixedException,HeuristicRollbackException,SecurityException,IllegalStateException
現スレッドと関連付けられたトランザクションを完了する。このメソッドが完了すると,スレッドはどのトランザクションとも関連がなくなる。
public abstract int getStatus()
現スレッドと関連付けられたトランザクションの状態を獲得する。
public abstract void rollback()
throws IllegalStateException,SecurityException
現スレッドと関連付けられたトランザクションをロールバックする。このメソッドが完了すると,スレッドは, トランザクションと関連がなくなる。
public abstract void setRollbackOnly()
throws IllegalStateException
現スレッドと関連付けられたトランザクションを変更する。この場合の現スレッドは,トランザクションの結果がロールバック以外になる可能性がないようなものとする。
public abstract void
setTransactionTimeout(int seconds)
開始メソッドで現スレッドが起動するトランザクションと関連付けられるタイムアウト値の値を変更する。
アプリケーションがこのメソッドを呼び出さなかった場合には,トランザクションサービスは, トランザクションタイムアウトのデフォルト値をいくつか使用する。
この例外は, 資源上でロールバック操作により投げられ,発見的決定が下され,関係する更新がすべて確定されていることを報告する。
public HeuristicCommitException()
public HeuristicCommitException(String msg)
この例外は, トランザクションの一つ以上の参加者が一方的に決定を下して,まずトランザクションサービスによって確定された結果を獲得せずに, 更新を確定するか又はロールバックすることを示す。
発見的決定が下されるのは,通常例外的な状況に限られる。例外的な状況とは,通信の失敗など正常なプロセスを妨害される場合をいう。参加者が発見的決定を下す場合,一致した結果とは異なる決定となり,可能性としてデータ保全性を消失する結果となる危険がある。
この例外のサブクラスは誤った発見的決定に関して固有の通知をより多く発信するか, 又は発見的決定が誤りである可能性を指摘する。
public HeuristicException()
public HeuristicException(String msg)
この例外は,発見的決定が下されたこと及び関係する更新のうち, 確定されたものもあればロールバックされたものもあることを報告するために投げられる。
public HeuristicMixedException()
public HeuristicMixedException(String msg)
この例外は,発見的決定が下され関係する更新がすべてロールバックされたことを報告するために, 確定操作によって投げられる。
public HeuristicRollbackException()
public HeuristicRollbackException(String msg)
この例外は, nullトランザクション文脈を進める要求があったことを示しているが,対象オブジェクトは, 活性化トランザクションを要求している。
public TransactionRequiredException()
public TransactionRequiredException(String msg)
この例外は,要求のプロセスと関連付けられたトランザクションがロールバックされたか, 又はロールバックのためにマークされたことを示す。トランザクション側でさらに計算を続行するのが無益であるため,このように要求された操作を実行できないか実行しないかのいずれかとなる。
public TransactionRolledbackException()
public TransactionRolledbackException(String msg)
この例外は,無効なトランザクション文脈を進める要求があったことを示す。例えば,資源を登録しようとする際エラーとなった場合に,この例外を進めることができる。
public InvalidTransactionException()
public InvalidTransactionException(String msg)