public final class ConnectionFactory
extends java.lang.Object
データベースのコネクションオブジェクトを取得する為に使用する,ファクトリクラスです。 Connection.connection() メソッドで,Connectionオブジェクトを取得します。 Connection#close() メソッドで,内部的に ConnectionFactory にオブジェクトを戻す 事によって,Connectionオブジェクトのプーリングを行なっています。 コネクションオブジェクトは,プールから貸し出します。 つまり,貸し出し中には,プールには,オブジェクトは残っていません。 その状態で,コネクションオブジェクトをclose()しない場合は,オブジェクトが破棄されて, 貸し出し中カウントと実際のオブジェクト数が食い違い,リソースが不足します。 必ず,作成したオブジェクトは,close()メソッドを呼び出して,プールに返して下さい。 システムリソースの USE_DB_APPLICATION_INFO=true の場合、コネクションにアプリケーション 情報を追記するため、ApplicationInfoオブジェクトを使用します。 このオブジェクトは、jsp/common/session-init.jsp にてユーザー情報とアプリケーション 情報を画面アクセスごとに設定します。
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
close(java.sql.Connection conn,
java.lang.String dbid)
コネクションオブジェクトをプールに戻します。
|
static java.sql.Connection |
connection(java.lang.String dbid,
ApplicationInfo appInfo)
コネクションオブジェクトを取得します。
|
static java.lang.String |
getDBName(java.lang.String dbid)
接続先のDB名に対応した、enum (DBName) を返します(toUpperCase)。
|
static java.lang.String |
information()
ConnectionFactory の現在の状況(詳細メッセージ)を返します。
|
static java.lang.String |
information(boolean isDetail)
ConnectionFactory の現在の状況を返します。
|
static void |
init(java.lang.String defPoolKey,
java.lang.String xmlFileName)
初期化メソッドです。
|
static void |
realClose()
コネクションオブジェクトを実際にすべてクローズします。
|
static void |
remove(java.sql.Connection conn,
java.lang.String dbid)
コネクションオブジェクトを物理的に削除(クローズ)戻します。
|
static boolean |
useParameterMetaData(java.lang.String dbid)
この接続が、PreparedStatement#getParameterMetaData() を使用するかどうかを判定します。
|
public static void init(java.lang.String defPoolKey, java.lang.String xmlFileName)
1)第二引数にXMLファイルをクラスローダ基底からの相対パスで指定した場合は そのXMLを利用してDBConfigオブジェクトを作成します。例:ConnectionFactory.init( CONTEXT_NAME, "../DBConfig.xml") nullの場合はWEB-INF/DBConfig.xmlを利用します。例:ConnectionFactory.init( CONTEXT_NAME, null) 2)キャッシュ初期ConnectionPoolのキーを設定してキャッシュプールを作ります。 この値がnullの場合は"DEFAULT"が設定されます。このクラスを利用する場合は必ず最初にこのメソッドを実行する必要があります。 キャッシュとDBConfigオブジェクトの同期化はされていないので初期化以外での利用は避けて下さい。
defPoolKey
- 初期DBID名(nullの場合は、"DEFAULT")xmlFileName
- DBConfig.xmlファイルのファイル名(nullの場合は、WEB-INF/DBConfig.xml)public static java.sql.Connection connection(java.lang.String dbid, ApplicationInfo appInfo)
dbid
- 接続先IDappInfo
- アプリ情報オブジェクトpublic static void close(java.sql.Connection conn, java.lang.String dbid)
conn
- コネクションオブジェクトdbid
- 接続先IDpublic static void remove(java.sql.Connection conn, java.lang.String dbid)
conn
- コネクションオブジェクトdbid
- 接続先IDpublic static void realClose()
public static java.lang.String information()
public static java.lang.String information(boolean isDetail)
isDetail
- 詳細メッセージかどうか [true:詳細メッセージ/false:簡易メッセージ]public static boolean useParameterMetaData(java.lang.String dbid)
dbid
- 接続先IDpublic static java.lang.String getDBName(java.lang.String dbid)
dbid
- 接続先IDWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.