【问题标题】:apache httpclient 3.1 support for JDK 8apache httpclient 3.1 对 JDK 8 的支持
【发布时间】:2017-03-22 10:21:56
【问题描述】:

我有一个使用 jdk 6 构建的 Web 应用程序,它使用 apache httpclient 3.1 来执行对外部系统的请求。 在这些天里,我已经完成了这个 web 应用程序到 jdk 8 的移植。所有的编译和所有的工作,但奇怪的事情发生了:随机的一些请求需要正常的执行时间加上 5000 毫秒。我敢肯定,这个调用的执行有时会运行 5 秒:

long t0 = System.currentTimeMillis()
int statusCode = client.executeMethod(get)
long dt = System.currentTimeMillis() - t0;

可能是 apache httpClient 3.1 不兼容 JDK 8?

【问题讨论】:

    标签: java apache httpclient


    【解决方案1】:

    Apache 基金会在其 4.x 版本中添加了所有 3.x。如果您检查,您会发现他们已将 4.x 版本与 jdk 7 兼容。希望他们也能在 jdk 8 上工作。

    HttpComponents HttpClient 4.0-alpha1 release 中,它们有一些显着的变化和增强。其中之一是性能问题。

    HttpClient 4.0 预计比 HttpClient 3.x 快 10% 到 25% 代码行。更好的性能和更小的内存占用,由于 基于 HttpCore 的更高效的 HTTP 传输。

    Java 兼容性问题:

    1. 2011 年 5 月 20 日,HttpComponents HttpCore 4.1.1 (GA) 发布。此版本标志着对 Java 1.3 的支持结束。从 4.2 版开始,HttpCore 的所有组件都需要 Java 1.5。

    2. 2013 年 9 月 12 日,HttpComponents HttpClient 4.3 (GA) 发布。这是 HttpClient 4.3 的第一个稳定 (GA) 版本。他们支持 Java 7 try-with-resources 进行资源管理(连接发布)。

    资源链接:

    1. https://hc.apache.org/news.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 2014-07-16
      相关资源
      最近更新 更多