有人能解释一下为什么使用这个client.setReadTimeOut和client.setConnectTimeOut超时吗?我正在对我的泽西客户使用相同的方法。我已经为connect和read设置了5秒的超时。出于测试目的,我在我的服务中设置了一个线程睡眠6秒。我得到一个超时异常,但在那之后,我的服务恢复并正常响应。我的要求是为服务响应设置一个超时,如果超时通过,它应该出来并重试。另外,我需要设置客户端应该尝试连接的尝试次数。请给出建议
发布于 2013-06-13 03:05:29
您的客户端在5秒后超时,没有收到来自服务器的反馈,并按照设计抛出了超时异常。它不知道服务器是开始处理呼叫还是稍后处理。
当您的服务器从睡眠中唤醒时,它也不知道客户端超时。您可以检查连接的状态,但这不是很可靠。
您的客户端可以捕获超时异常,并根据需要多次重试调用。如果你关心的是同一个服务器调用被多次执行,那么你必须实现你的资源方法是幂等的。
https://stackoverflow.com/questions/17066864
复制相似问题