我用的是Spring的 RestTemplate
我使用的http工厂是 HttpComponentsClientHttpRequestFactory
.
由于被调用服务器的问题,我在进行http调用时遇到了许多线程阻塞的问题。所以,我配置了读取超时和连接超时 HttpComponentsClientHttpRequestFactory
.
这很有帮助,但只在一定程度上,现在我看到,不是所有线程都立即被卡住,而是至少有一些初始数量的线程成功超时,但我注意到,在一个时间点之后,我的线程又被http调用卡住了。
以下是我的问题:
既然我同时有读取和连接超时,有没有想过为什么我仍然在基于restemplate的http调用上卡住线程?
我自己的想法是请求在网络中丢失了,我知道这在理论上是可能的,但在我的情况下,这在实践上是可能的吗?
我搜索了一下,发现我可以 sun.net.client.defaultConnectTimeout
以及 sun.net.client.defaultReadTimeout
在jvm级别,因为我已经将超时用于 HttpComponentsClientHttpRequestFactory
会有什么有意义的影响吗?
如果您对我如何解决这个问题有任何其他想法或建议,我们将不胜感激。
代码在虚拟机中,因此我只能这样做:
暂无答案!
目前还没有任何答案,快来回答吧!