@Override public void configureRestClientBuilder(RestClientBuilder restClientBuilder) { if (maxRetryTimeout != null) { restClientBuilder.setMaxRetryTimeoutMillis(maxRetryTimeout); } if (pathPrefix != null) { restClientBuilder.setPathPrefix(pathPrefix); } }
/** * Creates a new {@link RestClient} using given {@link EsConfig}. * * @return {@link RestClient} for Elasticsearch connection */ public RestClient construct() { RestClientBuilder builder = RestClient.builder(esConfig.getHttpHosts()); if (esConfig.getMaxRetryTimeoutMillis() != null) { builder.setMaxRetryTimeoutMillis(esConfig.getMaxRetryTimeoutMillis()); } if (esConfig.getDefaultHeaders() != null) { builder.setDefaultHeaders(esConfig.getDefaultHeaders()); } if (esConfig.getFailureListener() != null) { builder.setFailureListener(esConfig.getFailureListener()); } if (esConfig.getHttpClientConfigCallback() != null) { builder.setHttpClientConfigCallback(esConfig.getHttpClientConfigCallback()); } if (esConfig.getRequestConfigCallback() != null) { builder.setRequestConfigCallback(esConfig.getRequestConfigCallback()); } if (esConfig.getPathPrefix() != null) { builder.setPathPrefix(esConfig.getPathPrefix()); } return builder.build(); } }
}); if (Strings.hasLength(remoteInfo.getPathPrefix()) && "/".equals(remoteInfo.getPathPrefix()) == false) { builder.setPathPrefix(remoteInfo.getPathPrefix());
private RestClient createClient(Properties properties, int maxRetryTimeoutMillis) { String serverUrisString = ConfigurationParseHelper.getString( properties, ElasticsearchEnvironment.SERVER_URI, ElasticsearchEnvironment.Defaults.SERVER_URI ); ServerUris hosts = ServerUris.fromString( serverUrisString ); String pathPrefix = ConfigurationParseHelper.getString( properties, ElasticsearchEnvironment.PATH_PREFIX, null ); RestClientBuilder restClientBuilder = RestClient.builder( hosts.asHostsArray() ) /* * Note: this timeout is currently only used on retries, * but should we start using the synchronous methods of RestClient, * it would be applied to synchronous requests too. * See https://github.com/elastic/elasticsearch/issues/21789#issuecomment-287399115 */ .setMaxRetryTimeoutMillis( maxRetryTimeoutMillis ) .setRequestConfigCallback( (b) -> customizeRequestConfig( properties, b ) ) .setHttpClientConfigCallback( (b) -> customizeHttpClientConfig( properties, hosts, b ) ); if ( !StringHelper.isEmpty( pathPrefix ) && !"/".equals( pathPrefix ) ) { restClientBuilder.setPathPrefix( pathPrefix ); } return restClientBuilder.build(); }
private RestClient createClient(Properties properties, int maxRetryTimeoutMillis) { String serverUrisString = ConfigurationParseHelper.getString( properties, ElasticsearchEnvironment.SERVER_URI, ElasticsearchEnvironment.Defaults.SERVER_URI ); ServerUris hosts = ServerUris.fromString( serverUrisString ); String pathPrefix = ConfigurationParseHelper.getString( properties, ElasticsearchEnvironment.PATH_PREFIX, null ); RestClientBuilder restClientBuilder = RestClient.builder( hosts.asHostsArray() ) /* * Note: this timeout is currently only used on retries, * but should we start using the synchronous methods of RestClient, * it would be applied to synchronous requests too. * See https://github.com/elastic/elasticsearch/issues/21789#issuecomment-287399115 */ .setMaxRetryTimeoutMillis( maxRetryTimeoutMillis ) .setRequestConfigCallback( (b) -> customizeRequestConfig( properties, b ) ) .setHttpClientConfigCallback( (b) -> customizeHttpClientConfig( properties, hosts, b ) ); if ( !StringHelper.isEmpty( pathPrefix ) && !"/".equals( pathPrefix ) ) { restClientBuilder.setPathPrefix( pathPrefix ); } return restClientBuilder.build(); }