2016-08-04 33 views
-2

私たちはアプリケーション用にtomcat接続プールを使用しています。時々ログから接続がプールで利用できないことが観察されます。アプリケーションサーバー自体は停止しませんが、これによりユーザーアクションが中断されます。当社は、データ・ソースに次のパラメータを追加している。:tomcat接続プールの問題

<Resource 
    name=XXXXX 
    type=xxxxx 
    username=xxxxx 
    password=xxxxxx 
    driverClassName=xxxxx 
    maxIdle=2 
    url=xxxxx 
    maxActive=10 
/> 

質問:それは、接続プールは、特定の期間のために空になっている可能性があり、その後、接続が再びのavaibleですが?

+0

私はあなたが欲しいと思っていたでしょう –

+0

質問の答えは "はい"ですが、あなたのプログラムの振る舞いからすでに分かっているので、その答えはおそらく役に立たないでしょう。 –

+0

@Scary minIdleのデフォルトはinitialSizeです。これは1 – ravthiru

答えて

0

すべてのアイドル接続が検証クエリに失敗しない限り、接続プールは0に落ちません。ここで起こっているのは、接続が最大アイドルサイズ2までアイドルタイムアウトしていることです。アイドル接続は、あなたが遭遇している正確な問題を避けるため、通常は良いことです。新しい接続を開くのは高価です。

+0

こんにちはジョン、ご返信ありがとうございます。 initialSizeおよびminIdleパラメータを追加すると役立ちますか? – user2647805

+0

接続プールが起動すると、initialSize接続が作成されます。より多くの接続が同時に要求されると、maxActiveに増加します。これらの接続がアイドル状態になると、maxIdleに落ちます。それらのアイドル状態の接続がタイムアウトすると、それはminIdleに落ちます。 maxIdleとminIdleの両方を上げると、より多くのアイドル状態の接続が長く保持されます。 initialSizeを上げると、ユーザーの要求ではなく、アイドル状態の接続の作成がブートされます。 minIdleをinitialSizeに設定することは、同様に開始するのに非常に良い点です。 –