У меня есть этот пользовательский конструктор, который я хотел бы использовать для конфигурации:
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. Есть ли другое решение?