java - 如何使用公共(public)池创建连接池?

标签 java networking ssl httpurlconnection apache-commons

我有这样的代码:

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

在一个方法中。 endPoint 用于为每个方法调用更改(毕竟 endPoint 是方法参数)。因为所有的 endPoint 都启用了 ssl,我觉得做一个 openConnection() 是一个昂贵的。

我想创建一个连接池。我用了commons-pool jar 。我已经像这样编码到这里了:

class AuthenticationFactory extends BasePoolableObjectFactory<HttpURLConnection> {

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

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

}

makeObject 创建新连接,passiveObject 关闭现有连接。但我对此感到震惊。如何在不知道我的 endPoint 的情况下打开 makeObject 中的连接。

我是否遗漏了连接池的概念?

请帮帮我。

最佳答案

我不明白你想做什么。首先,HttpURLConnection 在后台使用池来重用现有的 TCP 连接,这正是您通常想要的。
此外,对于 ssl 连接,甚至重用连接也没有意义,因为每个连接对于每个客户端都是唯一的(因为它是安全的...)

关于java - 如何使用公共(public)池创建连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13776072/

相关文章:

java - Kafka 流和窗口以在时间窗口内保持计数

java - AppEngine ChannelAPI 警告 : No file found for:/_ah/channel/connected/

linux - tun/tap接口(interface)理解

ssl - 不确定如何通过 SSL 修复不安全的内容

java - 使用 Web 服务和 2 路 SSL

java - AndroidElement和WebDriver等待方法问题

java - 如何确定哪个网络。接口(interface)与java一起使用

c++ - 未收到 UDP 广播流量

ssl - HTTP 到 HTTPS Nginx 重定向太多

java - 处理 XSD 生成的类的多个版本