Package io.tarantool.driver.core
Class TarantoolClientConfiguratorImpl<SELF extends TarantoolClientConfigurator<SELF>>
- java.lang.Object
-
- io.tarantool.driver.core.TarantoolClientConfiguratorImpl<SELF>
-
- All Implemented Interfaces:
TarantoolClientConfigurator<SELF>
- Direct Known Subclasses:
TarantoolClientBuilderImpl
public class TarantoolClientConfiguratorImpl<SELF extends TarantoolClientConfigurator<SELF>> extends Object implements TarantoolClientConfigurator<SELF>
Tarantool client configurator implementation.
-
-
Field Summary
Fields Modifier and Type Field Description protected ProxyOperationsMappingConfig
mappingConfig
protected RequestRetryPolicyFactory
retryPolicyFactory
-
Constructor Summary
Constructors Modifier Constructor Description protected
TarantoolClientConfiguratorImpl()
TarantoolClientConfiguratorImpl(TarantoolClient<TarantoolTuple,TarantoolResult<TarantoolTuple>> client)
-
Method Summary
-
-
-
Field Detail
-
retryPolicyFactory
protected RequestRetryPolicyFactory retryPolicyFactory
-
mappingConfig
protected ProxyOperationsMappingConfig mappingConfig
-
-
Constructor Detail
-
TarantoolClientConfiguratorImpl
public TarantoolClientConfiguratorImpl(TarantoolClient<TarantoolTuple,TarantoolResult<TarantoolTuple>> client)
-
TarantoolClientConfiguratorImpl
protected TarantoolClientConfiguratorImpl()
-
-
Method Detail
-
withProxyMethodMapping
public SELF withProxyMethodMapping()
Description copied from interface:TarantoolClientConfigurator
Specify using the default CRUD proxy operations mapping configuration. For using the default operations mapping, make sure the tarantool/crud module is installed as a dependency and enabled in your application.- Specified by:
withProxyMethodMapping
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withProxyMethodMapping
public SELF withProxyMethodMapping(UnaryOperator<ProxyOperationsMappingConfig.Builder> builder)
Description copied from interface:TarantoolClientConfigurator
Configure a custom operations proxy configuration. This configuration allows specifying custom Lua function names callable on the Tarantool server, for replacing the default space operations with these functions calls. This allows, for example, replacing the default schema retrieving method or writing a custom "insert" implementation.- Specified by:
withProxyMethodMapping
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Parameters:
builder
- builder provider instance, e.g. a lambda function taking the builder- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetryingByNumberOfAttempts
public SELF withRetryingByNumberOfAttempts(int numberOfAttempts)
Description copied from interface:TarantoolClientConfigurator
Specify the number of retry attempts for each request.- Specified by:
withRetryingByNumberOfAttempts
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Parameters:
numberOfAttempts
- the number of retry attempts for each request- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetryingByNumberOfAttempts
public SELF withRetryingByNumberOfAttempts(int numberOfAttempts, UnaryOperator<TarantoolRequestRetryPolicies.AttemptsBoundRetryPolicyFactory.Builder<Predicate<Throwable>>> policy)
Description copied from interface:TarantoolClientConfigurator
Configure the attempts bound request retry policy. Only the requests that failed with known network exceptions will be retried by default.- Specified by:
withRetryingByNumberOfAttempts
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Parameters:
numberOfAttempts
- the number of retry attempts for each requestpolicy
- builder provider forTarantoolRequestRetryPolicies.AttemptsBoundRetryPolicy
, e.g. a lambda function taking the builder- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetryingByNumberOfAttempts
public <T extends Predicate<Throwable>> SELF withRetryingByNumberOfAttempts(int numberOfAttempts, T exceptionsCheck, UnaryOperator<TarantoolRequestRetryPolicies.AttemptsBoundRetryPolicyFactory.Builder<T>> policy)
Description copied from interface:TarantoolClientConfigurator
Configure the attempts bound request retry policy.- Specified by:
withRetryingByNumberOfAttempts
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Type Parameters:
T
- callback type for exceptions check- Parameters:
numberOfAttempts
- the number of retry attempts for each requestexceptionsCheck
- function checking whether the given exception may be retriedpolicy
- builder provider forTarantoolRequestRetryPolicies.AttemptsBoundRetryPolicy
, e.g. a lambda function taking the builder- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetryingIndefinitely
public SELF withRetryingIndefinitely(UnaryOperator<TarantoolRequestRetryPolicies.InfiniteRetryPolicyFactory.Builder<Predicate<Throwable>>> policy)
Description copied from interface:TarantoolClientConfigurator
Configure the infinite request retry policy. Only the requests that failed with known network exceptions will be retried by default.- Specified by:
withRetryingIndefinitely
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Parameters:
policy
- builder provider forTarantoolRequestRetryPolicies.InfiniteRetryPolicy
, e.g. a lambda function taking the builder- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetryingIndefinitely
public <T extends Predicate<Throwable>> SELF withRetryingIndefinitely(T callback, UnaryOperator<TarantoolRequestRetryPolicies.InfiniteRetryPolicyFactory.Builder<T>> policy)
Description copied from interface:TarantoolClientConfigurator
Configure the infinite request retry policy.- Specified by:
withRetryingIndefinitely
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Type Parameters:
T
- callback type for exceptions check- Parameters:
callback
- function checking whether the given exception may be retriedpolicy
- builder provider forTarantoolRequestRetryPolicies.InfiniteRetryPolicy
, e.g. a lambda function taking the builder- Returns:
- this instance of builder
TarantoolClientConfigurator
-
withRetrying
public SELF withRetrying(RequestRetryPolicyFactory factory)
Description copied from interface:TarantoolClientConfigurator
Specify a custom request retry policy factory. A request retry policy encapsulates an algorithm of checking if a particular failed request needs to be repeated. The built-in request retry policies include customizable policy variants with a bounded or unbounded number of retries.- Specified by:
withRetrying
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Parameters:
factory
-RequestRetryPolicyFactory
- Returns:
- this instance of builder
TarantoolClientConfigurator
- See Also:
TarantoolRequestRetryPolicies
-
build
public TarantoolClient<TarantoolTuple,TarantoolResult<TarantoolTuple>> build()
Description copied from interface:TarantoolClientConfigurator
Build the configured Tarantool client instance. Call this when you have specified all necessary settings.- Specified by:
build
in interfaceTarantoolClientConfigurator<SELF extends TarantoolClientConfigurator<SELF>>
- Returns:
- instance of tarantool tuple client
TarantoolClient
-
decorate
protected TarantoolClient<TarantoolTuple,TarantoolResult<TarantoolTuple>> decorate(TarantoolClient<TarantoolTuple,TarantoolResult<TarantoolTuple>> client)
Decorates provided client by user specified parameters.- Parameters:
client
- Tarantool client for decorating- Returns:
- decorated client or the same client
if parameters for decorating in
TarantoolClientConfigurator
have not been provided
-
-