【发布时间】:2018-07-02 14:50:36
【问题描述】:
我有一个我想用于配置的自定义构建器:
RestClient client = RestClientBuilder.builder()
.gatewayUrl("http://localhost:8080")
.token("d778dh")
.usernamePassword("petrov", "password2")
.build();
自定义生成器:
public class RestClientBuilder { ....
public static RestClientBuilder builder() {
return new RestClientBuilder();
}
public RestClientBuilder connectionTimeout(int milliseconds) {
ReactorClientHttpConnector connector =
new ReactorClientHttpConnector(options ->
options.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 2000));
return connector;
}
public RestClient build() throws SSLException {
SslContext sslContext = sslContextBuilder != null ? sslContextBuilder.build() : null;
return new RestClient(gatewayUrl.toString(), token, username, password, sslContext);
}
}
我想用这段代码来设置自定义超时:
ReactorClientHttpConnector connector =
new ReactorClientHttpConnector(options ->
options.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 2000));
WebClient webClient = WebClient.builder().clientConnector(connector).build();
如何在构建器中使用此自定义代码?我尝试了上面的示例,但我必须使用 Object Cast。还有其他解决办法吗?
【问题讨论】:
标签: java spring-webflux