我创建了一个调用外部Web服务的java Web应用程序。
在每个服务调用上设置为45秒套接字超时(此超时对应于等待响应的时间)。
有时远程Web服务响应时间超过45秒,并且存在套接字超时。这是不正常的,但它可能会发生。
我的问题/混淆是,如果我在客户端应用程序上超时,那么Webservice上的请求是如何变形的。
根据我的观察,我认为发生的事情是请求继续存在于Web服务中,直到它完成,但之后没有任何东西等待响应了。
这与正常行为一致吗?应该以某种方式在Web服务中处理吗?即Web服务中是否有一种方法可以知道客户端应用程序不再监听并停止处理。
丢失的请求又会发生什么?
我之所以这样问是因为我不想在网络服务中造成资源泄漏或挂起线程
由于
答案 0 :(得分:1)
网络服务最终会遇到重置连接问题。发送响应时,容器将正确恢复。
答案 1 :(得分:0)
如果您使用restTemplate,则增加时间: rest.service.connection.timeout;尝试将其设置为30秒。