openGionopenGion
5.8.0.0

org.opengion.fukurou.db
クラス ConnectionPool

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.AbstractObjectPool<Connection>
      上位を拡張 org.opengion.fukurou.db.ConnectionPool

 class ConnectionPool
extends AbstractObjectPool<Connection>

ConnectionPool は、AbstractObjectPool を継承した オブジェクトプールです。 コネクションオブジェクトをプールすることにより、ConnectionFactory で 管理する Map オブジェクトの実態として、各ID毎の コネクションをキープします。

機能分類
DB/Shell制御
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
ConnectionPool(EDbid edbid)
          DBID を指定して作成する コンストラクター DBID をキーに、 HybsSystem.sys メソッドのデータベース変数を取得します。
 
メソッドの概要
protected  Connection createInstance()
          コネクションオブジェクトを作成します。
 String dbidInfo()
          接続先の簡易な内部情報を返します。
 String getDBName()
          接続先のDB名を返します。
 String getDBVersion()
          接続先のDBバージョンを返します。
protected  void objectFinal(Connection obj)
          オブジェクトプールから削除するときに呼ばれます。
 String toString()
          内部状況を簡易的に表現した文字列を返します。
 boolean useApplicationInfo()
          アクセスログ取得の為のDBMS_APPLICATION_INFOの使用可否を取得します(初期値:true)。
 
クラス org.opengion.fukurou.util.AbstractObjectPool から継承されたメソッド
clear, init, init, isEmpty, newInstance, objectInitial, release, remove, size
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

ConnectionPool

public ConnectionPool(EDbid edbid)
DBID を指定して作成する コンストラクター DBID をキーに、 HybsSystem.sys メソッドのデータベース変数を取得します。 取得するのは、 DBID + _DB_URL/_DB_USER/_DB_PASSWD/_DB_MINCOUNT/_DB_MAXCOUNT です。 DBID が null の場合は,"DEFAULT" が使用されます。

パラメータ:
edbid - 接続先情報オブジェクト
変更履歴:
3.5.4.3 (2004/01/05) キャッシュの寿命を指定
3.5.4.7 (2004/02/06) DBID のゼロストリングチェック追加
4.0.0.0 (2007/10/10) キャッシュされた、初期ConnectionPool を使用
4.0.0.0 (2007/10/25) DB設定情報のXML化に伴う変更
メソッドの詳細

objectFinal

protected void objectFinal(Connection obj)
オブジェクトプールから削除するときに呼ばれます。 このメソッドで各オブジェクトごとの終了処理を行います。 例えば、データベースコネクションであれば、close() 処理などです。

オーバーライド:
クラス AbstractObjectPool<Connection> 内の objectFinal
パラメータ:
obj - 終了処理を行うオブジェクト
変更履歴:
3.5.4.8 (2004/02/23) SQLException は無視します。
3.5.6.0 (2004/06/18) synchronized を解除します。

createInstance

protected Connection createInstance()
コネクションオブジェクトを作成します。 DriverManager.getConnection により作成されたConnection を Connection で ラッピングします。 Connectionオブジェクトは,close()メソッドで,自分自身を ConnectionFactory の プールに戻します。

定義:
クラス AbstractObjectPool<Connection> 内の createInstance
戻り値:
コネクションオブジェクト
変更履歴:
3.3.3.3 (2003/08/06) コネクションに対して、setTransactionIsolation を、設定しておく。
3.5.2.0 (2003/10/20) 接続情報に、データベース名、ドライバ名情報を追加する。
3.5.6.0 (2004/06/18) synchronized を解除します。
3.8.8.2 (2007/01/26) useAppInfo を設定します。
4.0.0.0 (2007/10/30) 保持情報オブジェクト化に伴う変更
5.1.2.0 (2010/01/01) MySQL対応 明示的に、TRANSACTION_READ_COMMITTED を指定する。
5.5.2.0 (2012/05/01) properties対応

useApplicationInfo

public boolean useApplicationInfo()
アクセスログ取得の為のDBMS_APPLICATION_INFOの使用可否を取得します(初期値:true)。 データベースへのアクセスログ取得の為、エンジンで接続するコネクションについて DBMS_APPLICATION_INFO.SET_CLIENT_INFO と SET_MODULE を呼び出しています。 この処理は、ORACLEとの接続のみ有効ですので、接続先データベースが ORACLE 以外は false を返します。 ORACLE の場合は、システムリソースの USE_DB_APPLICATION_INFO 属性の設定値を 返します。 この設定値の初期値は、true です。

戻り値:
true:使用する/false:使用しない
変更履歴:
3.8.8.2 (2007/01/26) 新規追加

getDBName

public String getDBName()
接続先のDB名を返します。

戻り値:
接続先のDB名
変更履歴:
4.3.7.0 (2009/06/01) 新規作成

getDBVersion

public String getDBVersion()
接続先のDBバージョンを返します。

戻り値:
接続先のDBバージョン
変更履歴:
4.3.7.0 (2009/06/01) 新規作成

dbidInfo

public String dbidInfo()
接続先の簡易な内部情報を返します。

戻り値:
接続先の簡易な内部情報
変更履歴:
5.3.4.0 (2011/04/01) toString() の簡易版

toString

public String toString()
内部状況を簡易的に表現した文字列を返します。 DBID/URL/USER/プールサイズ を返します。

オーバーライド:
クラス AbstractObjectPool<Connection> 内の toString
戻り値:
このオブジェクトプールの文字列表現
変更履歴:
3.5.2.0 (2003/10/20) 接続情報に、データベース名、ドライバ名情報を追加する。
3.5.6.6 (2004/08/23) 同期化方法を統一する為、synchronized をつけます。(別途 要検討)
4.0.0.0 (2007/10/29) EDbidのtoStringを呼ぶように変更

openGion 5.8.0.0

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