openGionopenGion
5.6.7.0

org.opengion.fukurou.db
クラス TransactionImpl

java.lang.Object
  上位を拡張 org.opengion.fukurou.db.TransactionImpl
すべての実装されたインタフェース:
Transaction
直系の既知のサブクラス:
TransactionReal

public class TransactionImpl
extends java.lang.Object
implements Transaction

コネクションを共有して、トランザクションを実現します。 基本的には、TransactionTag で利用されますが、一部、このオブジェクトを 渡して、直接、利用するケースもあります。 トランザクションがすべて完了した後で、realClose() メソッドを呼び出します。 一度でも、rollback が指定されていれば、ロールバックを行い、コネクションを 破棄します。それ以外で、commit が指定されていれば、コミットを行い、 コネクションを、プールに戻します。どちらも指定されていなければ、 コネクションプールに戻すだけになります。 考え方として、下記のような流れになります。

   TransactionImpl tran = new TransactionImpl( appInfo ) ;
   try {
      ・・・・・
      tran.commit();
      tran.finish();
   }
   catch( Exception ex ) {
      tran.rollback();
   }
   finally {
      tran.realClose()
   }
 

変更履歴:
5.1.9.0 (2010/08/01) 新規作成
バージョン
5.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK6.0,

コンストラクタの概要
TransactionImpl(ApplicationInfo appInfo)
          ApplicationInfo を指定して作成する、コンストラクター このクラスは、基本的には、TransactionTag クラスから作成されます。
 
メソッドの概要
 boolean close()
          トランザクションの、終了時処理を行います。
 boolean close(boolean errFlag)
          トランザクションの、終了時処理を行います。
 boolean commit()
          コミット処理が行われた場合に、内部フラグ(isCommit)を true にセットします。
 void finish()
          トランザクションとして、正常終了時に処理を行います。
 java.sql.Connection getConnection(java.lang.String dbid)
          指定のDBID に対応した、Connection オブジェクトを返します。
 void realClose()
          トランザクションとして、終了時処理を行います。
 boolean rollback()
          ロールバック処理が行われた場合に、内部フラグ(isRollback)を true にセットします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TransactionImpl

public TransactionImpl(ApplicationInfo appInfo)
ApplicationInfo を指定して作成する、コンストラクター このクラスは、基本的には、TransactionTag クラスから作成されます。

パラメータ:
appInfo - 内部統制用のアクセス情報
メソッドの詳細

getConnection

public java.sql.Connection getConnection(java.lang.String dbid)
指定のDBID に対応した、Connection オブジェクトを返します。 内部Mapに存在していれば、そのコネクションを、存在しなければ、 新しく作成します。

定義:
インタフェース Transaction 内の getConnection
パラメータ:
dbid - 接続先ID
戻り値:
指定のDBID に対応した、Connectionオブジェクト

commit

public boolean commit()
コミット処理が行われた場合に、内部フラグ(isCommit)を true にセットします。 1回でもコミットが行われており、ロールバックが行われていなければ、 コミットされます。 検索処理のみで、エラーが発生していない場合は、コミットも行われないケースがあります。

定義:
インタフェース Transaction 内の commit
戻り値:
正常:true/異常:false

rollback

public boolean rollback()
ロールバック処理が行われた場合に、内部フラグ(isRollback)を true にセットします。 1回でもロールバックが行われていれば、最終的にはロールバックされます。 ロールバック指定の場合は、isError フラグを true(エラー有)にセットします。

定義:
インタフェース Transaction 内の rollback
戻り値:
正常:true/異常:false

close

public boolean close()
トランザクションの、終了時処理を行います。 実質的には、なにもしません。

定義:
インタフェース Transaction 内の close
戻り値:
正常:true/異常:false
関連項目:
close( boolean )

close

public boolean close(boolean errFlag)
トランザクションの、終了時処理を行います。 引数は、正常かどうかを判定するフラグです。異常の場合は、true をセットします。 ここでは、実際には何もしませんが、内部的にエラーフラグをセットします。 (エラーの場合のみセット。リセットはされません) 一度でも、エラーが発生したコネクションは、破棄します。それ以外は、プールに戻します。

定義:
インタフェース Transaction 内の close
パラメータ:
errFlag - [true:エラー状態/false:通常]
戻り値:
正常:true/異常:false

finish

public void finish()
トランザクションとして、正常終了時に処理を行います。 実質的には、内部のfinishフラグをセットするだけです。 ただし、このフラグがセットされていない場合は、処理が途中で止まった 可能性があるため、トランザクションとしては、正常終了させることができません。

関連項目:
realClose()

realClose

public void realClose()
トランザクションとして、終了時処理を行います。 トランザクションがすべて完了した後で、呼び出します。 一度でも、Rollback が指定されていれば、ロールバックを行い、コネクションを 破棄します。それ以外で、Commit が指定されていれば、コミットを行い、 コネクションを、プールに戻します。どちらも指定されていなければ、 コネクションプールに戻すだけになります。

変更履歴:
5.3.8.0 (2011/08/01) 内部変数を初期化し、このオブジェクトが再利用できるようにする。

openGion 5.6.7.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.