JavaTM 2 Platform
Standard Ed. 5.0

javax.sql
インタフェース PooledConnection

既知のサブインタフェースの一覧:
XAConnection

public interface PooledConnection

接続プール管理のフックを提供するオブジェクトです。PooledConnection オブジェクトは、データソースへの物理接続を表します。アプリケーションがある接続で終了したとき、その接続は閉じられずにリサイクルされます。そのため、生成する必要のある接続数を減らすことができます。

アプリケーションプログラマが PooledConnection インタフェースを直接使用することはありません。むしろ、このインタフェースは、接続のプーリングを管理する中間層インフラストラクチャが使用します。

アプリケーションは、DataSource.getConnection メソッドを呼び出すと、Connection オブジェクトを戻します。接続プールの実行中、Connection オブジェクトは、物理接続である PooledConnection オブジェクトのハンドルになります。

接続プール管理プログラム (通常アプリケーションサーバ) は、PooledConnection オブジェクトのプールを管理します。プール内に利用可能な PooledConnection オブジェクトが存在する場合、その物理接続のハンドルである Connection オブジェクトを返します。利用可能な PooledConnection オブジェクトが存在しない場合、PooledConnection メソッド getConnection を呼び出し、新しい物理接続を作成して、そのハンドルを返します。

接続を閉じるとき、アプリケーションは Connection メソッド close を呼び出します。接続プールの実行中、接続プール管理プログラムに通知が送られます。これは、接続プール管理プログラムが ConnectionPool メソッド addConnectionEventListener を使用して、ConnectionEventListener オブジェクトとして登録されているからです。接続プール管理プログラムは PooledConnection オブジェクトのハンドルを終了し、接続プールに PooledConnection オブジェクトを返します。返されたオブジェクトは再利用可能です。 このように、アプリケーションが接続を閉じるとき、背後の物理接続は閉じられず、リサイクルされます。

物理接続は、接続プール管理プログラムが PooledConnection メソッド close を呼び出すまで閉じられません。一般に、このメソッドは、通常どおりの手順でサーバを終了する場合、または致命的なエラーによって接続が使用できない状態になった場合に呼び出されます。

導入されたバージョン:
1.4

メソッドの概要
 void addConnectionEventListener(ConnectionEventListener listener)
          指定したイベントリスナーを登録して、この PooledConnection オブジェクトでイベントが発生したときに通知されるようにします。
 void close()
          この PooledConnection オブジェクトが表す物理接続を閉じます。
 Connection getConnection()
          Connection オブジェクト (この PooledConnection オブジェクトが表す物理接続のハンドル) を作成し、返します。
 void removeConnectionEventListener(ConnectionEventListener listener)
          指定したイベントリスナーを、この PooledConnection オブジェクトでイベントが発生したときに通知されるコンポーネントのリストから削除します。
 

メソッドの詳細

getConnection

Connection getConnection()
                         throws SQLException
Connection オブジェクト (この PooledConnection オブジェクトが表す物理接続のハンドル) を作成し、返します。接続プール管理プログラムは、アプリケーションによって DataSource.getConnection メソッドが呼び出されたが、利用可能な PooledConnection オブジェクトが存在しない場合に、このメソッドを呼び出します。詳細については、インタフェースの説明を参照してください。

戻り値:
この PooledConnection オブジェクトのハンドルである Connection オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合

close

void close()
           throws SQLException
この PooledConnection オブジェクトが表す物理接続を閉じます。アプリケーションがこのメソッドを直接呼び出すことはありません。このメソッドは、接続プールモジュール、または接続プール管理プログラムによって呼び出されます。

詳細については、インタフェースの説明を参照してください。

例外:
SQLException - データベースアクセスエラーが発生した場合

addConnectionEventListener

void addConnectionEventListener(ConnectionEventListener listener)
指定したイベントリスナーを登録して、この PooledConnection オブジェクトでイベントが発生したときに通知されるようにします。

パラメータ:
listener - ConnectionEventListener インタフェースを実装し、接続が閉じたかエラーが発生したときに通知されるようにするコンポーネント。通常は接続プール管理プログラム
関連項目:
removeConnectionEventListener(javax.sql.ConnectionEventListener)

removeConnectionEventListener

void removeConnectionEventListener(ConnectionEventListener listener)
指定したイベントリスナーを、この PooledConnection オブジェクトでイベントが発生したときに通知されるコンポーネントのリストから削除します。

パラメータ:
listener - ConnectionEventListener インタフェースを実装し、この PooledConnection オブジェクトにリスナーとして登録されたコンポーネント。通常は接続プール管理プログラム
関連項目:
addConnectionEventListener(javax.sql.ConnectionEventListener)

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。