永続的な接続のための Java HTTP 接続プールについては、 http://download.oracle.com/javase/6/docs/technotes/guides/net/http-keepalive.htmlで説明されています。ただし、接続が再利用されない場合にキャッシュから削除されるかどうか、およびその場合のタイムアウトの長さは示されません。
「キープアライブソケットはタイムアウトの影響を受けます。サーバーが HTTP ヘッダーでタイムアウトを送り返す場合、そのタイムアウト値が使用されます。それ以外の場合、タイムアウトはわずか 5 秒であり、その後ソケットは再利用されません [.. .] 残念ながら、タイムアウトを設定することはできません。これは、実装の内部でハードウェア化されています。"
もし本当なら、これは私たちが目にしているいくつかの奇妙な動作を説明するものであり、私はこれを確認するように思われる小さなテストケースを書きました. (Windows では Java 1.6.20 を使用します。)
これに関するドキュメントを知っている人はいますか?また、コメントは数年前のものです。タイムアウトはまだハードコーディングされていますか、それとも設定できますか?