16.4.2 接続プール
JDBC2.0 Optional Packageでは,DBとの接続をプールする機能が規定されています。接続プールの概要を次に示します。
-
既存のアプリケーションに影響を与えません。つまり,アプリケーションは接続プールの有無を意識する必要がありません。ただし,DB接続がDriverManagerを使用する方法ではなく,JDBC2.0 Optional Packageで導入されたDataSourceとJNDIを使用する方法で行っていることが前提となります。
-
接続プールを行う機能自体は,JDBC規格の機能範囲外です。これは,システム構築時に,接続プール機能をユーザが任意に選択できるようにするためです(ユーザが自分で作成するか,APServerベンダ提供のものを使用するか,又はJDBCベンダが提供するものを使用します)。
-
接続プール機能では,アプリケーションとのインタフェースとしてDataSourceクラスを使用できます。このDataSourceクラスは,JDBCドライバが提供するDataSourceクラスとは別のものです。
-
JDBCドライバでは,接続プール機能とのインタフェースとして,ConnectionPoolDataSourceクラスとPooledConnectionクラスを使用できます。
-
JDBCドライバが提供するConnectionPoolDataSourceクラスは,JDBCドライバが提供するDataSourceクラスと同様に,接続情報の設定/取得用のメソッドを使用できます。
接続プールに関連するクラスを次の表に示します。
クラス |
概 要 |
---|---|
javax.sql.DataSource |
|
javax.sql.ConnectionPoolDataSource |
|
javax.sql.PooledConnection |
|
javax.sql.ConnectionEventListener |
|
表「接続プールに関連するクラス」のクラスのインタフェース定義は,JDKのバージョンによってはJDKに標準で含まれていないため,接続プール機能を使用する場合はJavaSoftのWebサイトで確認する必要があります。
表「接続プールに関連するクラス」の,JDBCドライバが提供するクラスのパッケージ名称とクラス名称を次に示します。
パッケージ名称:JP.co.Hitachi.soft.HiRDB.JDBC
ConnectionPoolDataSourceクラス名称:JdbhConnectionPoolDataSource
PooledConnectionクラス名称:JdbhPooledConnection
なお,JDBCドライバが提供するConnectionPoolDataSourceクラスの接続情報の設定は,JDBCドライバが提供するDataSourceクラスの接続情報の設定と同じです。