【问题标题】:Jersey client.setChunkedEncodingSize(null) not workingJersey client.setChunkedEncodingSize(null) 不起作用
【发布时间】:2014-08-11 09:41:28
【问题描述】:

我正在编写一个客户端来测量 Jersey,基于 REST 的 Web 服务性能。我编写了一些代码来测量响应时间并测量从服务器发送的字节数,但 response.getLength() 方法总是返回 -1

在许多 QA 论坛中,我读到设置 client.setChunkedEncodingSize(null) 会起作用,但即使在设置后,我也得到 -1。

从服务器端,我根据客户端发送的参数发送 XML 或 JSON 或 protobuf 类型的响应。对于所有这些响应类型,我将响应长度设为 -1。

我的实际请求如下所示:

WebResource webResourceQuery = client.resource(requestUrl);
ClientResponse response = webResourceQuery.header("Authorization", header)
                                          .accept(MediaType.APPLICATION_JSON)
                                          .get(ClientResponse.class);

从服务器端,我没有明确设置内容长度。谁能帮我在客户端获取内容长度?

本实验的全部目的是衡量哪种响应类型在响应时间和发送/接收的数据量方面更有效。

【问题讨论】:

    标签: java web-services rest jersey-1.0


    【解决方案1】:

    我遇到了同样的问题:client.setChunkedEncodingSize(null); 不起作用。

    这对我来说实际上禁用了分块编码:

    client.getProperties().put(ApacheHttpClient4Config.PROPERTY_ENABLE_BUFFERING, true);
    

    【讨论】:

      猜你喜欢
      • 2012-11-03
      • 1970-01-01
      • 2015-02-01
      • 2014-09-23
      • 1970-01-01
      • 2016-02-26
      • 2016-07-27
      • 2018-08-19
      • 1970-01-01
      相关资源
      最近更新 更多