HttpURLConnection
Javaには java.net.HttpURLConnection というHTTPクライアントのクラスが存在します。しかし、こやつがどうにも込み入った使い方をするには使いづらいのであります。単純にGETしたりPOSTしたりするだけなら問題ないんですが。
自分が気になっている点は以下のふたつ。
1番目の問題は、コンテキストによってタイムアウト時間を切り替えなければならない場合に、厄介なことになります。
2番目の問題は、DNSラウンドロビンやGSLBなどを用いた構成のシステムで、同じURLでも状況によってIPが変わりうる、且つ動きとして接続先IPが変わることが期待されている場合に問題となります。もう死んでる系、あるいはサーバに向かって、expireするまでずっと接続しつづけ……ぐふ。まあこちらはそういう思想の設計っていうだけのことですが、使いまわしのアルゴリズムをこちらでカスタマイズできたり、あるいはせめていくつかの中から選択できるようになってればなあ、と。
実案件で上記の問題に遭遇した際は、結局簡易なHTTP実装をソケットを使って作成して回避しました。JakartaのHttpClientを使っていれば、もしかしたらこんな問題にも悩まなくて済んだのかもしれませんが。
Javaという言語は、豊富な標準ライブラリが魅力のひとつだと思っていますが、どうにも昔からあるクラスにはクセのあるものが多いような気がしますネ。
たとえば こんなメソッド とか(笑)。