use of com.linecorp.armeria.client.endpoint.healthcheck.HealthCheckedEndpointGroupBuilder in project incubator-skywalking by apache.
the class ElasticSearchBuilder method build.
@SneakyThrows
public ElasticSearch build() {
final List<Endpoint> endpoints = this.endpoints.build().stream().filter(StringUtil::isNotBlank).map(Endpoint::parse).collect(Collectors.toList());
final ClientFactoryBuilder factoryBuilder = ClientFactory.builder().connectTimeout(connectTimeout).idleTimeout(socketTimeout).useHttp2Preface(false).workerGroup(numHttpClientThread > 0 ? numHttpClientThread : NUM_PROC);
if (StringUtil.isNotBlank(trustStorePath)) {
final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
final KeyStore truststore = KeyStore.getInstance("jks");
try (final InputStream is = Files.newInputStream(Paths.get(trustStorePath))) {
truststore.load(is, trustStorePass.toCharArray());
}
trustManagerFactory.init(truststore);
factoryBuilder.tlsCustomizer(sslContextBuilder -> sslContextBuilder.trustManager(trustManagerFactory));
}
final ClientFactory clientFactory = factoryBuilder.build();
final HealthCheckedEndpointGroupBuilder endpointGroupBuilder = HealthCheckedEndpointGroup.builder(EndpointGroup.of(endpoints), "_cluster/health").protocol(protocol).useGet(true).clientFactory(clientFactory).retryInterval(healthCheckRetryInterval).withClientOptions(options -> {
options.decorator(LoggingClient.builder().logger(log).newDecorator());
options.decorator((delegate, ctx, req) -> {
ctx.logBuilder().name("health-check");
return delegate.execute(ctx, req);
});
return options;
});
if (StringUtil.isNotBlank(username) && StringUtil.isNotBlank(password)) {
endpointGroupBuilder.auth(AuthToken.ofBasic(username, password));
}
final HealthCheckedEndpointGroup endpointGroup = endpointGroupBuilder.build();
return new ElasticSearch(protocol, username, password, endpointGroup, clientFactory, healthyListener, responseTimeout);
}
use of com.linecorp.armeria.client.endpoint.healthcheck.HealthCheckedEndpointGroupBuilder in project skywalking by apache.
the class ElasticSearchBuilder method build.
@SneakyThrows
public ElasticSearch build() {
final List<Endpoint> endpoints = this.endpoints.build().stream().filter(StringUtil::isNotBlank).map(Endpoint::parse).collect(Collectors.toList());
final ClientFactoryBuilder factoryBuilder = ClientFactory.builder().connectTimeout(connectTimeout).idleTimeout(socketTimeout).useHttp2Preface(false).workerGroup(numHttpClientThread > 0 ? numHttpClientThread : NUM_PROC);
if (StringUtil.isNotBlank(trustStorePath)) {
final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
final KeyStore truststore = KeyStore.getInstance("jks");
try (final InputStream is = Files.newInputStream(Paths.get(trustStorePath))) {
truststore.load(is, trustStorePass.toCharArray());
}
trustManagerFactory.init(truststore);
factoryBuilder.tlsCustomizer(sslContextBuilder -> sslContextBuilder.trustManager(trustManagerFactory));
}
final ClientFactory clientFactory = factoryBuilder.build();
final HealthCheckedEndpointGroupBuilder endpointGroupBuilder = HealthCheckedEndpointGroup.builder(EndpointGroup.of(endpoints), "_cluster/health").protocol(protocol).useGet(true).clientFactory(clientFactory).retryInterval(healthCheckRetryInterval).withClientOptions(options -> {
options.decorator(LoggingClient.builder().logger(log).newDecorator());
options.decorator((delegate, ctx, req) -> {
ctx.logBuilder().name("health-check");
return delegate.execute(ctx, req);
});
return options;
});
if (StringUtil.isNotBlank(username) && StringUtil.isNotBlank(password)) {
endpointGroupBuilder.auth(AuthToken.ofBasic(username, password));
}
final HealthCheckedEndpointGroup endpointGroup = endpointGroupBuilder.build();
return new ElasticSearch(protocol, username, password, endpointGroup, clientFactory, healthyListener, responseTimeout);
}
Aggregations