What is the correct way to set a (connection) timeout for the (default) WebClient?
Is it enough to just use Mono#timeout(Duration)
method on the resulti
As of Reactor Netty 0.8 and Spring Framework 5.1, you can set connection, read & write timeouts like the following:
TcpClient tcpClient = TcpClient.create()
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1000) // Connection Timeout
.doOnConnected(connection ->
connection.addHandlerLast(new ReadTimeoutHandler(10)) // Read Timeout
.addHandlerLast(new WriteTimeoutHandler(10))); // Write Timeout
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(HttpClient.from(tcpClient)))
.build();