0

c3p0 接続プールを使用しており、minPoolSize=1、maxPoolSize=5、InitialPoolSize=5 です。

サーバーが起動すると、5つの接続があることがわかります。しかし、最初の要求が来たとき、それはありませんでした。10 に増加します。それ以降は、10 個の接続がその負荷を処理しているため、10 のままです。ここで私の質問は、 maxPoolSize が 5 であっても、なぜ別の 5 conn を作成するのかということです。プールに。それは initialPoolSize のためですか?

ありがとう

4

1 に答える 1

0

2 つのアクティブなプールがあるようです。デフォルトの getConnection() ではなく getConnection( user, password ) を呼び出していますか? c3p0 は、認証ごとに個別のプールを作成します。また、JMX を介してアクティブな認証の数を追跡できます。

initialPoolSize は、あまり関係がないはずです。また、c3p0 の問題を理解しようとするときは、アクティブな構成が期待どおりであることを確認することをお勧めします。繰り返しになりますが、ほとんどの構成パラメーターは JMX 経由で確認できます。より簡単に言えば、ログ ファイルを確認することもできます。c3p0 DataSource は、初期化時に INFO で設定をダンプします。

于 2012-12-18T23:52:22.463 に答える