|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
を呼び出すまで閉じられません。一般に、このメソッドは、通常どおりの手順でサーバを終了する場合、または致命的なエラーによって接続が使用できない状態になった場合に呼び出されます。
メソッドの概要 | |
---|---|
void |
addConnectionEventListener(ConnectionEventListener listener)
指定したイベントリスナーを登録して、この PooledConnection オブジェクトでイベントが発生したときに通知されるようにします。 |
void |
close()
この PooledConnection オブジェクトが表す物理接続を閉じます。 |
Connection |
getConnection()
Connection オブジェクト (この PooledConnection オブジェクトが表す物理接続のハンドル) を作成し、返します。 |
void |
removeConnectionEventListener(ConnectionEventListener listener)
指定したイベントリスナーを、この PooledConnection オブジェクトでイベントが発生したときに通知されるコンポーネントのリストから削除します。 |
メソッドの詳細 |
---|
Connection getConnection() throws SQLException
Connection
オブジェクト (この PooledConnection
オブジェクトが表す物理接続のハンドル) を作成し、返します。接続プール管理プログラムは、アプリケーションによって DataSource.getConnection
メソッドが呼び出されたが、利用可能な PooledConnection
オブジェクトが存在しない場合に、このメソッドを呼び出します。詳細については、インタフェースの説明
を参照してください。
PooledConnection
オブジェクトのハンドルである Connection
オブジェクト
SQLException
- データベースアクセスエラーが発生した場合void close() throws SQLException
PooledConnection
オブジェクトが表す物理接続を閉じます。アプリケーションがこのメソッドを直接呼び出すことはありません。このメソッドは、接続プールモジュール、または接続プール管理プログラムによって呼び出されます。
詳細については、インタフェースの説明
を参照してください。
SQLException
- データベースアクセスエラーが発生した場合void addConnectionEventListener(ConnectionEventListener listener)
PooledConnection
オブジェクトでイベントが発生したときに通知されるようにします。
listener
- ConnectionEventListener
インタフェースを実装し、接続が閉じたかエラーが発生したときに通知されるようにするコンポーネント。通常は接続プール管理プログラムremoveConnectionEventListener(javax.sql.ConnectionEventListener)
void removeConnectionEventListener(ConnectionEventListener listener)
PooledConnection
オブジェクトでイベントが発生したときに通知されるコンポーネントのリストから削除します。
listener
- ConnectionEventListener
インタフェースを実装し、この PooledConnection
オブジェクトにリスナーとして登録されたコンポーネント。通常は接続プール管理プログラムaddConnectionEventListener(javax.sql.ConnectionEventListener)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。