org.opengion.fukurou.db
クラス ConnectionPool
java.lang.Object
org.opengion.fukurou.util.AbstractObjectPool<java.sql.Connection>
org.opengion.fukurou.db.ConnectionPool
class ConnectionPool
- extends AbstractObjectPool<java.sql.Connection>
ConnectionPool は、AbstractObjectPool を継承した オブジェクトプールです。
Connection オブジェクトをプールすることにより、ConnectionFactory で
管理する Map オブジェクトの実態として、各ID毎の コネクションをキープします。
- 機能階層
- DB/Shell制御
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
コンストラクタの概要 |
ConnectionPool(EDbid edbid)
DBID を指定して作成する コンストラクター
DBID をキーに、 HybsSystem.sys メソッドのデータベース変数を取得します。 |
メソッドの概要 |
protected java.sql.Connection |
createInstance()
Connection オブジェクトを作成します。 |
java.lang.String |
getDBName()
接続先のDB名を返します。 |
java.lang.String |
getDBVersion()
デフォルト接続先のDBバージョンを返します。。 |
protected void |
objectFinal(java.sql.Connection obj)
オブジェクトプールから削除するときに呼ばれます。 |
java.lang.String |
toString()
内部状況を簡易的に表現した文字列を返します。 |
boolean |
useApplicationInfo()
アクセスログ取得の為のDBMS_APPLICATION_INFOの使用可否を取得します。 |
クラス 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
- DBIDオブジェクト- 変更履歴:
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(java.sql.Connection obj)
- オブジェクトプールから削除するときに呼ばれます。
このメソッドで各オブジェクトごとの終了処理を行います。
例えば、データベースコネクションであれば、close() 処理などです。
- オーバーライド:
- クラス
AbstractObjectPool<java.sql.Connection>
内の objectFinal
- パラメータ:
obj
- 終了処理を行うオブジェクト- 変更履歴:
3.5.4.8 (2004/02/23) SQLException は無視します。 |
3.5.6.0 (2004/06/18) synchronized を解除します。 |
createInstance
protected java.sql.Connection createInstance()
- Connection オブジェクトを作成します。
DriverManager.getConnection により作成されたConnection を Connection で
ラッピングします。
Connectionオブジェクトは,close()メソッドで,自分自身を ConnectionFactory の
プールに戻します。
- 定義:
- クラス
AbstractObjectPool<java.sql.Connection>
内の createInstance
- 戻り値:
- Connection オブジェクト
- 変更履歴:
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) 保持情報オブジェクト化に伴う変更 |
useApplicationInfo
public boolean useApplicationInfo()
- アクセスログ取得の為のDBMS_APPLICATION_INFOの使用可否を取得します。
データベースへのアクセスログ取得の為、エンジンで接続するコネクションについて
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 java.lang.String getDBName()
- 接続先のDB名を返します。
- 戻り値:
- 接続先のDB名
- 変更履歴:
4.3.7.0 (2009/06/01) 新規作成 |
getDBVersion
public java.lang.String getDBVersion()
- デフォルト接続先のDBバージョンを返します。。
- 戻り値:
- 接続先のDBバージョン
- 変更履歴:
4.3.7.0 (2009/06/01) 新規作成 |
toString
public java.lang.String toString()
- 内部状況を簡易的に表現した文字列を返します。
DBID/URL/USER/プールサイズ を返します。
- オーバーライド:
- クラス
AbstractObjectPool<java.sql.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を呼ぶように変更 |
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.