3

環境:</h1>
  • Java 6
  • アパッチ HTTP クライアント 4.2.3

質問の詳細:

httpclient マニュアルに従って、接続マネージャーを構成せずにDefaultHttpClientを使用する場合。接続マネージャーをシャットダウンする必要があります。

しかし、多くのサーバーで多くの要求がある場合は、PoolingClientConnectionManager を接続マネージャーとして構成します。この場合の Apache サイトでの参照が見つかりません。特定の httpclient 要求の接続を解放するために何かをする必要がありますか? または httpclient はフレームワークレベルで自動的にそれを行いますか?

4

1 に答える 1

1

そうです。接続マネージャーは、使用可能な接続を個々の要求に割り当てますが、特定の接続がまだ使用されているかどうかを知る方法はありません。応答を処理するとき、HttpClient はメッセージ ヘッドのみをメモリに読み込みますが、メッセージ コンテンツは基になる接続から直接ストリーミングされます。応答オブジェクトに関連付けられたコンテンツ入力ストリームを閉じて、マネージャーへの接続解放をトリガーするのは、コンシューマーの責任です。

于 2013-03-14T08:27:01.567 に答える