Package org.elasticsearch.client
Class RestClientBuilder
- java.lang.Object
-
- org.elasticsearch.client.RestClientBuilder
-
public final class RestClientBuilder extends java.lang.ObjectHelps creating a newRestClient. Allows to set the most common http client configuration options when internally creating the underlyingHttpAsyncClient. Also allows to provide an externally createdHttpAsyncClientin case additional customization is needed.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceRestClientBuilder.HttpClientConfigCallbackCallback used to customize theCloseableHttpClientinstance used by aRestClientinstance.static interfaceRestClientBuilder.RequestConfigCallbackCallback used the defaultRequestConfigbeing set to theCloseableHttpClient
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CONNECT_TIMEOUT_MILLISstatic intDEFAULT_MAX_CONN_PER_ROUTEstatic intDEFAULT_MAX_CONN_TOTALstatic intDEFAULT_MAX_RETRY_TIMEOUT_MILLISstatic intDEFAULT_SOCKET_TIMEOUT_MILLIS
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RestClientbuild()Creates a newRestClientbased on the provided configuration.RestClientBuildersetDefaultHeaders(org.apache.http.Header[] defaultHeaders)Sets the default request headers, which will be sent along with each request.RestClientBuildersetFailureListener(RestClient.FailureListener failureListener)Sets theRestClient.FailureListenerto be notified for each request failureRestClientBuildersetHttpClientConfigCallback(RestClientBuilder.HttpClientConfigCallback httpClientConfigCallback)Sets theRestClientBuilder.HttpClientConfigCallbackto be used to customize http client configurationRestClientBuildersetMaxRetryTimeoutMillis(int maxRetryTimeoutMillis)Sets the maximum timeout (in milliseconds) to honour in case of multiple retries of the same request.RestClientBuildersetNodeSelector(NodeSelector nodeSelector)Sets theNodeSelectorto be used for all requests.RestClientBuildersetPathPrefix(java.lang.String pathPrefix)Sets the path's prefix for every request used by the http client.RestClientBuildersetRequestConfigCallback(RestClientBuilder.RequestConfigCallback requestConfigCallback)Sets theRestClientBuilder.RequestConfigCallbackto be used to customize http client configuration
-
-
-
Field Detail
-
DEFAULT_CONNECT_TIMEOUT_MILLIS
public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
- See Also:
- Constant Field Values
-
DEFAULT_SOCKET_TIMEOUT_MILLIS
public static final int DEFAULT_SOCKET_TIMEOUT_MILLIS
- See Also:
- Constant Field Values
-
DEFAULT_MAX_RETRY_TIMEOUT_MILLIS
public static final int DEFAULT_MAX_RETRY_TIMEOUT_MILLIS
- See Also:
- Constant Field Values
-
DEFAULT_MAX_CONN_PER_ROUTE
public static final int DEFAULT_MAX_CONN_PER_ROUTE
- See Also:
- Constant Field Values
-
DEFAULT_MAX_CONN_TOTAL
public static final int DEFAULT_MAX_CONN_TOTAL
- See Also:
- Constant Field Values
-
-
Method Detail
-
setDefaultHeaders
public RestClientBuilder setDefaultHeaders(org.apache.http.Header[] defaultHeaders)
Sets the default request headers, which will be sent along with each request.Request-time headers will always overwrite any default headers.
- Throws:
java.lang.NullPointerException- ifdefaultHeadersor any header isnull.
-
setFailureListener
public RestClientBuilder setFailureListener(RestClient.FailureListener failureListener)
Sets theRestClient.FailureListenerto be notified for each request failure- Throws:
java.lang.NullPointerException- iffailureListenerisnull.
-
setMaxRetryTimeoutMillis
public RestClientBuilder setMaxRetryTimeoutMillis(int maxRetryTimeoutMillis)
Sets the maximum timeout (in milliseconds) to honour in case of multiple retries of the same request.DEFAULT_MAX_RETRY_TIMEOUT_MILLISif not specified.- Throws:
java.lang.IllegalArgumentException- ifmaxRetryTimeoutMillisis not greater than 0
-
setHttpClientConfigCallback
public RestClientBuilder setHttpClientConfigCallback(RestClientBuilder.HttpClientConfigCallback httpClientConfigCallback)
Sets theRestClientBuilder.HttpClientConfigCallbackto be used to customize http client configuration- Throws:
java.lang.NullPointerException- ifhttpClientConfigCallbackisnull.
-
setRequestConfigCallback
public RestClientBuilder setRequestConfigCallback(RestClientBuilder.RequestConfigCallback requestConfigCallback)
Sets theRestClientBuilder.RequestConfigCallbackto be used to customize http client configuration- Throws:
java.lang.NullPointerException- ifrequestConfigCallbackisnull.
-
setPathPrefix
public RestClientBuilder setPathPrefix(java.lang.String pathPrefix)
Sets the path's prefix for every request used by the http client.For example, if this is set to "/my/path", then any client request will become
"/my/path/" + endpoint.In essence, every request's
endpointis prefixed by thispathPrefix. The path prefix is useful for when Elasticsearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios.- Throws:
java.lang.NullPointerException- ifpathPrefixisnull.java.lang.IllegalArgumentException- ifpathPrefixis empty, or ends with more than one '/'.
-
setNodeSelector
public RestClientBuilder setNodeSelector(NodeSelector nodeSelector)
Sets theNodeSelectorto be used for all requests.- Throws:
java.lang.NullPointerException- if the provided nodeSelector is null
-
build
public RestClient build()
Creates a newRestClientbased on the provided configuration.
-
-