问题描述
我使用的是 Spring 的 RestTemplate
,我使用的 HTTP 工厂是 HttpComponentsClientHttpRequestFactory
。
由于被调用服务器的问题,我在进行 HTTP 调用时遇到了许多卡住的线程。因此,我使用 HttpComponentsClientHttpRequestFactory
配置了读取超时和连接超时。
这有帮助,但仅限于扩展,现在我看到不是所有线程都被立即卡住,而是至少有一些初始线程成功超时,但我注意到一段时间后我的线程又被 HTTP 卡住了打电话。
这是我的问题:
- 由于我的读取和连接都超时,有没有想过为什么我的线程仍然卡在基于 RestTemplate 的 HTTP 调用上?
- 我自己的想法是请求在网络中丢失了,我知道这在理论上是可能的,但在我的情况下实际上可能吗?
- 我搜索并发现我可以在 JVM 级别设置
sun.net.client.defaultConnectTimeout
和sun.net.client.defaultReadTimeout
,因为我已经在HttpComponentsClientHttpRequestFactory
中使用了超时,它会产生任何有意义的影响吗?
对于我如何解决这个问题的任何其他想法或建议将不胜感激。
代码在虚拟机中,所以这是我能做的最好的:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)