0

接続プールは通常、アプリケーションサーバーによって管理されますよね?ただし、META-INFフォルダーにcontext.xmlを追加して、ここでデータソースを構成できます。

  1. それは良いアプローチですか?この場合でも、アプリケーションに構成が含まれていても、サーバーはそれらの構成を取得してプーリングを適切に管理しますか?

    接続を閉じないと、異なる接続オブジェクトが返されることに気づきました。また、接続を閉じると、同じ接続オブジェクトが返されます。この場合、GenericObjectPool.numActiveは1を示します。しかし、接続を閉じないと、接続オブジェクトもプールに返されますよね?GenericObjectPool.numActiveが表示されるので、リクエストごとに増加し続けます。

  2. 私の2番目の質問は、接続を閉じないのに、接続プールに戻されるということです。では、要求が満たされた後でも、サーバーがその接続オブジェクトを選択せず​​、代わりに新しい接続オブジェクトを作成するのはなぜですか?

4

1 に答える 1

1

接続を閉じないと、プールに戻りません。接続は、プールから取得したメソッドによって、finallyブロックで常に閉じられている必要があります。

サーバーまたはプールには、接続が閉じられていないが使用されていないことを検出してプールに戻す手段がある場合がありますが、そのようなメカニズムに依存することはできません。

于 2012-09-25T10:31:57.590 に答える