首先,我不是要在这里发动战争。我非常了解Jersey,但是很少使用httpclient。
jersey-client和Apache的httpclient之间的主要区别是什么?在哪些方面比另一方面更好?哪里有比较好的图表?较大的文件(例如2048
MB)中,哪一个效果更好?
非常感谢您的评论!
这两件事可能不应该直接比较。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
HttpUrlConnection
基于基础的实现很难维护和扩展。Apache Http客户端
HttpUrlConnection
。4.1版包含许多性能提升,并且性能比同类产品更好HttpUrlConnection
也有一个内部池,但是您没有工具来自定义池的内容或时间,也没有监视设施来检查池的状态。请记住,如果您有适当的com.sun.jersey.api.client.ClientHandler
实现,也可以在Jersey上使用其他后端(例如,用于非阻塞客户端)。
jersey-client和Apache的HttpClient之间的主要区别是什么?在哪些方面一个比另一个好?某处有好的对比图吗?哪一个在较大的文件(比如2048 MB)下性能更好? 非常感谢您的评论!
null } Pok
我有一个测试Web服务项目,我在其中使用REST(泽西)JSON Spring。问题是我不知道如何将它们组合在一起。例如,我有一个have类,它可以与数据库一起使用: 我还有一个JSON类,它获取并返回JSON中的对象: 现在我试着把它们结合起来。我想从DB中获取数据,并将其转换为JSON,然后在响应中返回: 当我用最后一个组合开始项目时,我得到了这个错误: 我的pom.xml: My web.x
我试图使用HttpClient将“Accept Encoding”参数添加到我的HTTP头中,如“gzip,deflate”。代码如下所示。但是,我在响应中遇到以下错误,无法添加header参数。响应不包含添加的标题字段 错误:内部服务器错误
问题内容: 我想从Python程序中访问R。我知道Rpy2,pyrserve和PypeR。 这三种选择的优缺点是什么? 问题答案: 我比其他人更了解这三个,但按问题中给出的顺序: rpy2: Python和R之间的C级接口(R作为嵌入式进程运行) 暴露给Python的R对象,无需复制数据 相反,Python的numpy数组可以暴露给R而无需创建副本 低级接口(靠近R C-API)和高级接口(为方便
当试图通过docker-client将RESTful服务发布到我的私有docker注册表时,我得到了这个错误。令人困惑的是,输入流会自行改变,就像您在这里看到的那样。它是在泽西的某个背景下制造的,但我找不到原因。我想问题发生在新泽西逻辑的某个地方 它一定与属于WebResource(泽西岛)的queryParams(String params)有关