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 连接的需求
  • 尽管有他的限制,但要增加池的大小
  • 等待 N 毫秒,期待一个免费的 HTTP 连接(延迟后的异常)。
于 2012-12-08T07:25:24.750 回答