0

WebSphere [WAS] で JMS 接続ファクトリーを構成する場合、接続プール設定のデフォルト値は以下のとおりです。

接続タイムアウト: 180 秒 未使用のタイムアウト: 1800 秒

アプリケーションが使用されていない期間 [>180 秒] があることを考えると、この構成では、常に古い接続オブジェクトがプールに残り、アクセスしているアプリケーションが例外をスローすることになるのではないでしょうか?

未使用のタイムアウト値が接続タイムアウト値よりも小さいことを常に確認するべきではありませんか?

4

1 に答える 1

0

未使用のタイムアウトが接続のタイムアウトと関係があるとは思いません。Unused タイムアウトが短すぎる場合、ファクトリは接続を閉じたり開いたりし続ける必要がありますが、これはアクティブ プールではなく、フリー プールの接続にのみ適用されます。それでも、パフォーマンスに影響を与えるため、接続の開閉を繰り返さないようにする必要があります。

未使用タイムアウト

[接続プール] プロパティの [未使用のタイムアウト] は、JMS 接続が切断されるまでにフリー プールに留まる時間を定義します。このプロパティのデフォルト値は 1800 秒 (30 分) です。基本的に、接続が Free プールで 1800 秒以上休止状態にある場合、その接続は切断されます。

接続タイムアウト

このファクトリから作成された接続数がすでにファクトリの最大接続プロパティと等しい場合に、アプリケーションがフリープールからの接続を待機する時間。この 3 分以内に接続が空きプールに戻されると、接続マネージャーはすぐに接続をプールから取り出し、待機中のアプリケーションに渡します。ただし、タイムアウト時間が経過すると、ConnectionWaitTimeoutException がスローされます。

したがって、接続タイムアウトは基本的に、アプリケーションが次に利用可能な接続を待機する時間です。これは、ファクトリが上限に達したために新しい接続を作成できないと仮定した場合です。この上限に達している場合は、ファクトリの最大接続プロパティを増やしてください。

于 2013-10-14T15:01:58.500 に答える