概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.4.3.7
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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` - ApplicationInfo 内部統制用のアクセス情報

メソッドの詳細

### getConnection

    public java.sql.Connection getConnection(java.lang.String dbid)

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

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

### commit

    public boolean commit()

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

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

### rollback

    public boolean rollback()

  ロールバック処理が行われた場合に、内部フラグ(isRollback)を true にセットします。 １回でもロールバックが行われていれば、最終的にはロールバックされます。 ロールバック指定の場合は、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` - boolean エラー状態(true)/通常(false)
  戻り値:
    正常:true/異常:false

### finish

    public void finish()

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

  関連項目:
    `realClose()`

### realClose

    public void realClose()

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

  変更履歴:

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

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.4.3.7
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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