【发布时间】:2019-11-23 10:35:31
【问题描述】:
我在我的配置类中定义了一个 WebClient bean。它涉及到对其连接器的大量配置(包括设置 SSL、代理等)。
@Bean
@Primary
@Scope("prototype")
public WebClient webClient()
{
SslContextBuilder builder = SslContextBuilder.forClient();
HttpClient httpClient = HttpClient
.create(ConnectionProvider.fixed("webClientPool", maxConnections))
...
ReactorClientHttpConnector connector = new ReactorClientHttpConnector(httpClient);
WebClient webClient = WebClient.builder()
.clientConnector(connector)
.exchangeStrategies(getExchangeStrategies())
.build();
return webClient;
在注入此 WebClient 的 bean 中,我想设置不同的超时。
我想使用webClient.mutate().clientConnector(...) 方法,但这需要我从头开始设置整个配置,只是为了设置超时。
不幸的是,WebClient 和 HttpClient 没有 .getxxx() 方法可以帮助我将旧的客户端配置复制到新的配置中。
我希望有一种方法可以只为变异的 WebClient 设置 tcp-client 的超时选项。 有办法吗?
【问题讨论】:
标签: java spring spring-webflux reactor reactor-netty