Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

2.11.5 コネクションプーリングとコネクションスイーパの動作

データソースのプロパティで設定するコネクションプーリングとコネクションスイーパの動作,コネクションを共有する場合の留意点について説明します。

コネクションプーリングについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.1 コネクションプーリング」を参照してください。コネクションスイーパについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.15.7 コネクションスイーパ」を参照してください。

<この項の構成>
(1) コネクションプーリングの動作
(2) コネクションスイーパの動作
(3) コネクションを共有する場合の留意点
(4) 注意事項

(1) コネクションプーリングの動作

(2) コネクションスイーパの動作

(3) コネクションを共有する場合の留意点

コネクションシェア機能は,同一JavaVM内という条件で,同一トランザクション(ここでのトランザクションとはjavax.transaction.UserTransactionによるトランザクションまたはEJBでのCMTによるトランザクションだけ)中での同一データソース(javax.sql.DataSource)へのコネクション取得要求(getConnectionメソッド)に対して,アプリケーションが同一の物理コネクションを共有できるようにするものです。これによって,アプリケーションがトランザクション中で同じデータソースから複数回コネクションを取得してSQLを発行した場合,トランザクションコミット時にそれぞれのSQLの処理結果をデータベースにまとめて反映できます。この機能を利用するには,コネクションプールの設定でコネクション数<MinimumSize>を1以上に設定する必要があります。なお,コネクションシェア機能は,同一データソース(javax.sql.DataSource)に対し,パラメタなしgetConnectionメソッドと,パラメタありgetConnection(java.lang.String username,java.lang.String password)メソッド間では,同一トランザクション中でもコネクションを共有できません。また,パラメタありのgetConnection(java.lang.String username,java.lang.String password)メソッド間でusernameが異なる場合,同一トランザクション中でもコネクションを共有できません。

(4) 注意事項