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
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)Deprecated.this setting is deprecated and will be removed in the future in favour of relying on socket and connect timeoutRestClientBuildersetNodeSelector(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 configurationRestClientBuildersetStrictDeprecationMode(boolean strictDeprecationMode)Whether the REST client should return any response containing at least one warning header as a failure.
-
-
-
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
@Deprecated public RestClientBuilder setMaxRetryTimeoutMillis(int maxRetryTimeoutMillis)
Deprecated.this setting is deprecated and will be removed in the future in favour of relying on socket and connect timeoutSets 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
-
setStrictDeprecationMode
public RestClientBuilder setStrictDeprecationMode(boolean strictDeprecationMode)
Whether the REST client should return any response containing at least one warning header as a failure.
-
build
public RestClient build()
Creates a newRestClientbased on the provided configuration.
-
-