0

私はこのようなコードを持っています:

URL url = new URL(endPoint);
connection = (HttpURLConnection) url.openConnection();

メソッドで。メソッド呼び出しごとに変更するためにendPoint使用されます(結局のところendPoint、メソッドparamsです)。すべてsslが有効になっているので、aを実行するのは高価endPointだと思います。openConnection()

接続のプールを作成することを考えました。コモンズプールジャーを使用しました。そして、私はここまでこのようにコーディングしました:

class AuthenticationFactory extends BasePoolableObjectFactory<HttpURLConnection> {

    public HttpURLConnection makeObject() {
        return (HttpURLConnection) new URL("someting").openConnection();
    }

    public void passiveObject(HttpURLConnection conn)
    {
        conn.close();
    }

}

makeObject新しい接続を作成し、既存の接続を閉じpassiveObjectます。しかし、私はそれに打たれました。makeObject自分のことを知らずに、内部の接続を開くにはどうすればよいですかendPoint

ここで接続プールの概念が欠けていますか?

親切に私を助けてください。

4

1 に答える 1

1

あなたが何をしようとしているのか理解できません。まず第一に、HttpURLConnection内部でプールを使用して、通常必要な既存の TCP 接続を再利用します。
さらに、ssl接続の場合、各接続はクライアントごとに一意であるため、接続を再利用することさえ意味がありません (安全であるため...)

于 2012-12-08T12:04:32.173 に答える