在java中创建url连接池

时间:2012-12-08 07:19:17

标签: java connection pool

我在方法中有这样的代码:

        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中这样做?

提前致谢

1 个答案:

答案 0 :(得分:1)

池化HTTP连接与其他池对象类似。

基本上:

  • 使用工厂获取HTTP连接的实例
  • 不要忘记在不再使用时通过工厂将其发布到您的游泳池
  • 在您的游泳池管理中不要忘记检查并关闭您的连接。

我不建议您重新编写所有池管理代码,而是使用现有的库 Jakarta Commons-pool。

Jakarta Commons-pool使您:

  • 立即拒绝新的HTTP连接请求“池耗尽异常”
  • 尽管他的限制增加了游泳池大小
  • 在N ms期间等待,期待免费的HTTP连接(延迟后的异常)。