javax.ws.rs.ProcessingException:java.net.SocketTimeoutException-Jersey客户端

javax.ws.rs.ProcessingException:java.net.SocketTimeoutException-Jersey客户端,java,jersey-2.0,jersey-client,Java,Jersey 2.0,Jersey Client,我正在尝试读取客户端中的RESTWeb服务响应,它可以很好地用于单个调用。在对同一web服务调用执行负载测试(5分钟内约5000个调用)时,我发现套接字读取超时错误 更大的问题是,套接字时间错误实际上是在成功接收到web服务响应(通过wireshark检查)之后发生的(可能是客户端混淆) 之前我使用的是Jersey client 1.x,现在我尝试了Jersey client 2.x,但仍然看到了错误 我检查了stack overflow中的大多数读取超时示例,没有找到合适的案例 我得到以

我正在尝试读取客户端中的RESTWeb服务响应,它可以很好地用于单个调用。在对同一web服务调用执行负载测试(5分钟内约5000个调用)时,我发现套接字读取超时错误

更大的问题是,套接字时间错误实际上是在成功接收到web服务响应(通过wireshark检查)之后发生的(可能是客户端混淆)

之前我使用的是Jersey client 1.x,现在我尝试了Jersey client 2.x,但仍然看到了错误

我检查了stack overflow中的大多数读取超时示例,没有找到合适的案例

我得到以下错误

javax.ws.rs.ProcessingException:java.net.SocketTimeoutException:Read 超时 org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:287

我只想确认几件事。任何建议都能帮助我了解调试问题的方向

  • 泽西岛的客户是否有可能在 API调用的数量在5分钟内达到5000个 只有那个时间超时
  • 我相信如果内容长度不匹配,jersey可能会等待Rest服务发送更多输出。不确定是否会这样 案件
  • API响应时间不是很大,通常为7~10秒

  • 注意:我不是Java开发人员,非常感谢您提供的任何帮助。

    1.不。您可以通过如下方式设置http客户端的读取超时来进一步调试此问题:client client=ClientBuilder.newClient();client.property(ClientProperties.read_timeout,100);//毫秒