我们在Apache-HttpClient中有3个超时:
HttpClients.custom()
.setConnectionManager(cm)
.setDefaultRequestConfig(RequestConfig.custom()
.setConnectTimeout(...)
.setSocketTimeout(...)
.setConnectionRequestTimeout(...)
.build();
其中:
- 联机逾时:与远程主机建立连接的时间
- 套接字超时:建立连接后等待数据的时间;两个数据包之间的最长不活动时间
但是AkkaHttpClient只有connecting-timeout
,没有Socket Timeout
的任何配置属性。是否有任何等价的属性或方法为请求设置默认的Socket Timeout
?
1条答案
按热度按时间toe950271#
一般来说,对于客户端中超过connecting-timeout的超时,建议使用各种Akka Streams操作符(例如
idleTimeout
),这给了您更多的控制。还有一个常规的空闲超时,如果没有发送或接收任何内容,它将关闭连接:这是一项全局安全功能,因此不能按请求进行配置。