6 再利用可能な接続の動作の制御
この章では、次のインタフェースについて説明します。
6.1 AbandonedConnectionTimeoutCallbackインタフェース
AbandonedConnectionTimeoutCallback
コールバック・インタフェースは中止接続タイムアウト機能に使用します。この機能により、アプリケーションは中止接続をカスタマイズ処理できます。コールバック・オブジェクトは論理接続プロキシのいずれかを使用するか、または各プール接続に登録されます。これにより、特定の接続が中止されたとプールによってみなされた場合、アプリケーションはカスタマイズ処理を実行できます。流用された接続が中止されたとユニバーサル接続プールによってみなされた場合、handleTimedOutConnection
メソッドが起動されます。アプリケーションは接続に対して次の操作のいずれかを実行できます。
-
プール処理プロセスの完全な上書き
-
追加の処理アクションの起動
-
デフォルトのプール処理の想定
JDBCアプリケーションは、handleTimedOutConnection
メソッド内でcancel
、close
およびrollback
メソッドを中止接続に対して起動できます。
ノート:
同じ接続に複数のAbandonedConnectionTimeoutCallback
インタフェースを登録しようとすると、例外が発生します。この例外は、プール・レイヤーにおけるUniversalConnectionPoolException
か、JDBC、JCAなどのUCPアダプタのタイプに固有のjava.sql.SQLException
のいずれかです。
6.2 TimeToLiveConnectionTimeoutCallbackインタフェース
TimeToLiveConnectionTimeoutCallback
コールバック・インタフェースはTTL接続タイムアウト機能に使用します。これにより、アプリケーションはTTLタイムアウト接続をカスタマイズ処理できます。
コールバック・オブジェクトは論理接続プロキシのいずれかを使用するか、または各プール接続に登録されます。これにより、特定のTTL接続がタイムアウトになった場合、アプリケーションはカスタマイズ処理を実行できます。
流用された接続がTTLタイムアウトになったとユニバーサル接続プールによって検出された場合、handleTimedOutConnection
メソッドが起動されます。アプリケーションは接続に対して次の操作のいずれかを実行できます。
-
プール処理プロセスの完全な上書き
-
追加の処理アクションの起動
-
デフォルトのプール処理の想定
JDBCアプリケーションは、handleTimedOutConnection
メソッド内でcancel
、close
およびrollback
メソッドを中止接続に対して起動できます。
ノート:
同じ接続に複数のTimeToLiveConnectionTimeoutCallback
インタフェースを登録すると、例外が発生します。この例外は、プール・レイヤーにおけるUniversalConnectionPoolException
であるか、JDBC、JCAなどのUCPアダプタのタイプに固有のjava.sql.SQLException
です。