1

メソッドに次のようなコードがあります。

        URL url = new URL(endPoint);
        String encoding = Base64.encodeBase64String(this.key.getBytes());

        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoOutput(true);
        connection.setRequestProperty  ("Authorization", "Basic " + encoding);

このメソッドは、クライアント側から何度も呼び出されます。接続プールを作成し、必要に応じて同じものを再利用できればと思います。

Javaでそれを行うことは可能ですか?

前もって感謝します

4

1 に答える 1

2

HTTP 接続のプーリングは、他のプーリング オブジェクトと同様です。

基本的 :

  • ファクトリを使用して HTTP 接続のインスタンスを取得します
  • 使用しなくなったら、工場経由でプールにリリースすることを忘れないでください
  • プール管理では、接続を確認して閉じることを忘れないでください。

すべてのプール管理を再コーディングすることはお勧めしませんが、Jakarta Commons-pool などの既存のライブラリを使用することをお勧めします。

Jakarta Commons-pool により、次のことが可能になります。

  • 「プール枯渇例外」で新しい HTTP 接続の要求をすぐに拒否する
  • 彼の限界にもかかわらずプールサイズを増やす
  • 空いている HTTP 接続を期待して、N ミリ秒待機します (遅延後の例外)。
于 2012-12-08T07:25:24.750 に答える