asc*_*eta 9 netty reactor-netty spring-webflux
HttpClientfrom 提供了各种要配置的“超时”,其中两个让我有点困惑:
This is time that takes to receive a response after sending a requestRaises a ReadTimeoutException when no data was read within a certain period of time有人可以解释一下它们之间的主要区别吗?
通用场景 - 使用 spring reactive 进行调用,它在幕后WebClient使用:HttpClient
ChannelOption.CONNECT_TIMEOUT_MILLISReadTimeoutHandler我是对的吗?小智 3
如果您使用 WebFlux 和 Netty,则httpClient应该是 Netty httpClient。你去那里看过吗?https://projectreactor.io/docs/netty/release/api/reactor/netty/http/client/HttpClient.html
连接超时 -> 这是正确的,如果由于任何原因无法连接到远程服务器,则将使用此超时。
TLS 握手,检查:reactor.netty.http.client.HttpClient#secure():如果没有另外配置,Netty 将假设握手超时 10 秒。如果您想定义另一个超时,请使用
reactor.netty.tcp.sslHandshakeTimeout https://projectreactor.io/docs/netty/release/api/reactor/netty/http/client/HttpClient.html#secure--
连接现已建立,您可以发送请求。通过使用,ReadTimeoutHandler您可以定义通过连接接收数据之前等待的时间。例如,这可以是一次性的整个响应,如果响应是流式传输的,则可以是字节。responseTimeout在httpClient做同样的事情。TcpClient两者都使用给定的设置创建timeOut。ReadTimeoutHandler 的好处是,您可以获得一个回调,该回调在发生超时时执行您定义的逻辑。
| 归档时间: |
|
| 查看次数: |
13193 次 |
| 最近记录: |