Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.6.2 ConnectionPoolDataSourceインタフェース

ConnectionPoolDataSourceインタフェースで提供される各メソッドの詳細,使用方法については,JDBCの関連ドキュメントを参照してください。ここでは,JDBCドライバがサポートするConnectionPoolDataSourceインタフェースのメソッドを示します。

〈この項の構成〉

(1) メソッド

ConnectionPoolDataSourceインタフェースのメソッド一覧を次の表に示します。

表17‒76 ConnectionPoolDataSourceインタフェースのメソッド一覧

メソッド

提供ドライバ

機能

JDBC2.0

JDBC4.0

getLoginTimeout()

setLoginTimeoutメソッドで指定された値を返します。

getLogWriter()

ConnectionPoolDataSourceオブジェクトのログライターを取得します。

getPooledConnection()

データソースに設定した接続情報によって,プールされた接続として使用できるPooledConnectionオブジェクトを取得します。

getPooledConnection(String user, String password)

データソースに設定した接続情報によって,プールされた接続として使用できるPooledConnectionオブジェクトを取得します。

setLoginTimeout(int seconds)

データベースへの接続試行中に待機する最長時間(秒)を指定します。

setLogWriter(PrintWriter out)

ConnectionPoolDataSourceオブジェクトのログライターを設定します。

(凡例)

○:提供されます。

(a) getLoginTimeout()

【機能】

setLoginTimeoutメソッドで指定された値を返します。

【形式】
public synchronized int getLoginTimeout() throws SQLException
【引数】

なし。

【戻り値】
int型:

setLoginTimeoutメソッドで指定された値を返します。setLoginTimeoutメソッドで指定されていない場合は,0を返します。

【発生する例外】

なし。

(b) getLogWriter()

【機能】

ConnectionPoolDataSourceオブジェクトのログライターを取得します。

【形式】
public synchronized PrintWriter getLogWriter() throws SQLException
【引数】

なし。

【戻り値】

PrdbConnectionPoolDataSourceオブジェクトのログライターを返します。ログライターが設定されていない場合は,NULL値を返します。

【発生する例外】

なし。

(c) getPooledConnection()

【機能】

データソースに設定した接続情報によって,プールされた接続として使用できるPooledConnectionオブジェクトを取得します。

【形式】
public synchronized PooledConnection getPooledConnection() throws SQLException
【引数】

なし。

【戻り値】

PooledConnectionオブジェクト

【機能詳細】

DataSourceオブジェクトに事前に設定された接続情報を基に,プールされた接続として使用できるPooledConnectionオブジェクトを返します。ユーザ名称,パスワードの各設定方法での優先順位は,「接続情報の優先順位」を参照してください。

【発生する例外】

データベースアクセスエラーが発生した場合,SQLExceptionを投入します。

(d) getPooledConnection(String user, String password)

【機能】

データソースに設定した接続情報によって,プールされた接続として使用できるPooledConnectionオブジェクトを取得します。

【形式】
public synchronized PooledConnection getPooledConnection(String user, String password) throws SQLException
【引数】

String user:接続時のユーザ名

String password:接続時のパスワード

【戻り値】

PooledConnectionオブジェクト

【機能詳細】

引数で指定された情報,及びDataSourceオブジェクトに事前に設定された接続情報を基に,プールされた接続として使用できるPooledConnectionオブジェクトを返します。

引数user又は引数passwordがnullの場合,ユーザ名称又はパスワードを,この引数で指定しなかったことを示します。また,引数passwordが長さ0の文字列の場合,パスワードを指定しなかったことを示します。引数userとConnectionProperty中にユーザIDを設定した場合,引数userの指定値を優先します。同様に,パスワードも引数passwordの指定値を優先します。引数user及びpasswordを指定しない場合については,「接続情報の優先順位」を参照してください。

【発生する例外】

次の場合,SQLExceptionを投入します。

  • データベースアクセスエラーが発生した場合

  • 引数に指定したユーザ名が長さ0の文字列の場合

(e) setLoginTimeout(int seconds)

【機能】

データベースへの接続試行中に待機する最長時間(秒)を指定します。

【形式】
public synchronized void setLoginTimeout(int seconds) throws SQLException
【引数】

int seconds:接続待ち時間(秒)

【戻り値】

なし。

【機能詳細】

PooledConnectionインタフェースのgetConnectionメソッドでConnectionオブジェクトを取得する際に行う,HiRDBサーバとの物理接続時に使用します。0を指定した場合,又はsetLoginTimeoutを実行していない場合は,PDCONNECTWAITTIMEで指定した時間が,HiRDBサーバとの物理接続時の,HiRDBサーバに対する最大待ち時間になります。

getConnectionメソッドでの接続処理は,大きく分けて次の二つから成ります。

  1. TCP/IPのコネクション確立処理

  2. HiRDBサーバとのユーザ認証などのネゴシエーション

このメソッド及びクライアント環境定義PDCONNECTWAITTIMEの指定値は,2.だけを監視対象としており,1.は監視対象に含みません。1.を監視する場合,クライアント環境定義PDNBLOCKWAITTIMEを指定する必要があります。

監視範囲の詳細については「クライアント環境定義の設定内容」のクライアント環境定義PDCONNECTWAITTIMEを参照してください。

【発生する例外】

引数secondsが0未満,又は301以上の場合,SQLExceptionを投入します。

(f) setLogWriter(PrintWriter out)

【機能】

ConnectionPoolDataSourceオブジェクトのログライターを設定します。

【形式】
public synchronized void setLogWriter(PrintWriter out)
【引数】

PrintWriter out:ログライター

【戻り値】

なし。

【発生する例外】

なし。

(2) パッケージ名称及びクラス名称

このインタフェースを直接使用する場合に必要なパッケージ名称とクラス名称を次に示します。

パッケージ名称:JP.co.Hitachi.soft.HiRDB.JDBC

クラス名称:PrdbConnectionPoolDataSource