栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jersey-client和Apache HTTP Client如何比较?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jersey-client和Apache HTTP Client如何比较?

这两件事可能不应该直接比较。Jersey是REST客户端,具有完整的JAX-RS实现,简洁的API和强大的过滤器堆栈。Apache Http
Client是HTTP客户端,非常适合管理超时,复杂的代理路由和连接轮询等底层细节。它们作用于协议栈的不同级别。当您使用Jersey时,总是涉及某种HTTP客户端后端。在没有明确

HttpUrlConnection
指定后端的情况下,Jersey将用作默认后端。

带有HttpUrlConnection后端的Jersey:

Client client = Client.create();WebResource webResource = client.resource("http://localhost:8080/path");ClientResponse response = webResource.accept("application/json")    .get(ClientResponse.class);

Jersey与Apache Http Client后端示例:

HttpClient apacheClient = HttpClientBuilder.create().build();Client client = new Client(new ApacheHttpClient4Handler(apacheClient, new BasiccookieStore(), true));WebResource webResource = client.resource("http://localhost:8080/path");ClientResponse response = webResource.accept("application/json")    .get(ClientResponse.class);

请注意最后一个示例中Handler的用法。这是Jersey整合并利用各种后端的关键集成抽象。第一个示例

URLConnectionClientHandler
在引擎盖下使用。

说到性能和功能,将Apache Http
Client与Jersey进行比较几乎没有意义。有人可能想在这里比较不同的Jersey后端,因为Jersey本身只是包装API。我想根据自己的经验重点介绍HttpUrlConnection和Apache
Http Client之间的一些关键区别:

HttpUrlConnection

  • 无需外部依赖项。这在嵌入式或移动平台上可能非常有价值。
  • 到处都有很好的记录
  • API设计不良。
    HttpUrlConnection
    基于基础的实现很难维护和扩展。
  • 许多功能是通过JVM属性配置的,其中某些功能可能在运行时不可重新配置。
  • 在某些情况下,无法处理超时。您可能最终为不同的超时设置了10个不同的JVM属性,并且在某些情况下仍然使连接永远挂起。
  • 由于Gingerbread是Android 推荐的 http客户端API。

Apache Http客户端

  • 对于3.X版本,其性能与相似
    HttpUrlConnection
    。4.1版包含许多性能提升,并且性能比同类产品更好
  • 非常擅长管理连接和数据读取超时
  • 它的设计遵循“ 开放/封闭原则”,因此您可以使用自己的实现自定义HTTP处理的几乎任何部分。示例:重定向策略,重试策略,自定义cookie存储,请求/响应的拦截器等。
  • 通过可定制的路由构建器为复杂的multy-proxy路径提供丰富的代理支持
  • 开箱即用的每个路由连接池。如果使用SSL / TLS(尤其是涉及硬件PKCS#11令牌),则可能会带来良好的性能优势。
    HttpUrlConnection
    也有一个内部池,但是您没有工具来自定义池的内容或时间,也没有监视设施来检查池的状态。
  • 具有详细的记录功能

请记住,如果您有适当的

com.sun.jersey.api.client.ClientHandler
实现,也可以在Jersey上使用其他后端(例如,用于非阻塞客户端)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454140.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号