Class ConfigurationBuilder
- All Implemented Interfaces:
ConfigurationChildBuilder
,Builder<Configuration>
ConfigurationBuilder used to generate immutable Configuration
objects to pass to the
RemoteCacheManager(Configuration)
constructor.
If you prefer to configure the client declaratively, see org.infinispan.client.hotrod.configuration
- Since:
- 5.3
- Author:
- Tristan Tarrant
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddCluster
(String clusterName) Adds a new remote server clusteraddContextInitializer
(String contextInitializer) Supply aSerializationContextInitializer
implementation to register classes with theProtoStreamMarshaller
'sSerializationContext
.addContextInitializer
(org.infinispan.protostream.SerializationContextInitializer contextInitializer) Supply aSerializationContextInitializer
implementation to register classes with theProtoStreamMarshaller
'sSerializationContext
.addContextInitializers
(org.infinispan.protostream.SerializationContextInitializer... contextInitializers) Convenience method to supply multipleSerializationContextInitializer
implementations.addJavaSerialAllowList
(String... regEx) List of regular expressions for classes that can be deserialized using standard Java deserialization when reading data that might have been stored with a different endpoint, e.g.addJavaSerialWhiteList
(String... regEx) Deprecated, for removal: This API element is subject to removal in a future version.Adds a new remote serveraddServers
(String servers) Adds a list of remote servers in the form: host1[:port][;host2[:port]]...Configuration for the executor service used for asynchronous work on the Transport, including asynchronous marshalling and Cache 'async operations' such as Cache.putAsync().balancingStrategy
(Class<? extends FailoverRequestBalancingStrategy> balancingStrategy) For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.balancingStrategy
(String balancingStrategy) For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.balancingStrategy
(Supplier<FailoverRequestBalancingStrategy> balancingStrategyFactory) For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.batchSize
(int batchSize) Sets the batch size of internal iterators (ie.build()
Builds a configuration objectbuild
(boolean validate) clientIntelligence
(ClientIntelligence clientIntelligence) Specifies the level of "intelligence" the client should haveConfigures the connection poolconnectionTimeout
(int connectionTimeout) This property defines the maximum socket connect timeout in milliseconds before giving up connecting to the server.consistentHashImpl
(int version, Class<? extends org.infinispan.client.hotrod.impl.consistenthash.ConsistentHash> consistentHashClass) Defines theConsistentHash
implementation to use for the specified version.consistentHashImpl
(int version, String consistentHashClass) Defines theConsistentHash
implementation to use for the specified version.create()
Create the configuration beandnsResolverMaxTTL
(int maxTTL) dnsResolverMinTTL
(int minTTL) dnsResolverNegativeTTL
(int negativeTTL) forceReturnValues
(boolean forceReturnValues) Whether or not to implicitly FORCE_RETURN_VALUE for all calls.keySizeEstimate
(int keySizeEstimate) Deprecated, for removal: This API element is subject to removal in a future version.Since 12.0, does nothing and will be removed in 15.0marshaller
(Class<? extends Marshaller> marshallerClass) Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects.marshaller
(String marshallerClassName) Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects.marshaller
(Marshaller marshaller) Allows you to specify an instance ofMarshaller
to serialize and deserialize user objects.maxRetries
(int maxRetries) It sets the maximum number of retries for each request.Deprecated, for removal: This API element is subject to removal in a future version.since 11.0.static void
parseServers
(String servers, BiConsumer<String, Integer> c) read
(Configuration template) read
(Configuration template, Combine combine) Reads the configuration from an already created configuration bean into this builder.remoteCache
(String name) Per-cache configurationsecurity()
Security ConfigurationserverFailureTimeout
(int timeoutInMilliseconds) The time for a failed server to be cleared allowing for it to attempt to reconnect at a later point.servers()
socketTimeout
(int socketTimeout) This property defines the maximum socket read timeout in milliseconds before giving up waiting for bytes from the server.Configures client-side statistics.tcpKeepAlive
(boolean keepAlive) Affects TCP KEEPALIVE on the TCP stack.tcpNoDelay
(boolean tcpNoDelay) Affects TCP NODELAY on the TCP stack.Transaction configurationtransactionTimeout
(long timeout, TimeUnit timeUnit) Sets the transaction's timeout.transportFactory
(TransportFactory transportFactory) Set the TransportFactory.Configures this builder using the specified URI.Configures this builder using the specified URI.void
validate()
Validate the data in this builder before building the configuration beanvalueSizeEstimate
(int valueSizeEstimate) Deprecated, for removal: This API element is subject to removal in a future version.Since 12.0, does nothing and will be removed in 15.0version
(ProtocolVersion protocolVersion) This property defines the protocol version that this client should use.withProperties
(Properties properties) Configures this builder using the specified properties.
-
Constructor Details
-
ConfigurationBuilder
public ConfigurationBuilder()
-
-
Method Details
-
attributes
- Specified by:
attributes
in interfaceBuilder<Configuration>
-
addServer
Description copied from interface:ConfigurationChildBuilder
Adds a new remote server- Specified by:
addServer
in interfaceConfigurationChildBuilder
-
addCluster
Description copied from interface:ConfigurationChildBuilder
Adds a new remote server cluster- Specified by:
addCluster
in interfaceConfigurationChildBuilder
-
addServers
Description copied from interface:ConfigurationChildBuilder
Adds a list of remote servers in the form: host1[:port][;host2[:port]]...- Specified by:
addServers
in interfaceConfigurationChildBuilder
-
servers
-
parseServers
-
asyncExecutorFactory
Description copied from interface:ConfigurationChildBuilder
Configuration for the executor service used for asynchronous work on the Transport, including asynchronous marshalling and Cache 'async operations' such as Cache.putAsync().- Specified by:
asyncExecutorFactory
in interfaceConfigurationChildBuilder
-
balancingStrategy
Description copied from interface:ConfigurationChildBuilder
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.- Specified by:
balancingStrategy
in interfaceConfigurationChildBuilder
-
balancingStrategy
public ConfigurationBuilder balancingStrategy(Supplier<FailoverRequestBalancingStrategy> balancingStrategyFactory) Description copied from interface:ConfigurationChildBuilder
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.- Specified by:
balancingStrategy
in interfaceConfigurationChildBuilder
-
balancingStrategy
public ConfigurationBuilder balancingStrategy(Class<? extends FailoverRequestBalancingStrategy> balancingStrategy) Description copied from interface:ConfigurationChildBuilder
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.- Specified by:
balancingStrategy
in interfaceConfigurationChildBuilder
-
clientIntelligence
Description copied from interface:ConfigurationChildBuilder
Specifies the level of "intelligence" the client should have- Specified by:
clientIntelligence
in interfaceConfigurationChildBuilder
-
connectionPool
Description copied from interface:ConfigurationChildBuilder
Configures the connection pool- Specified by:
connectionPool
in interfaceConfigurationChildBuilder
-
connectionTimeout
Description copied from interface:ConfigurationChildBuilder
This property defines the maximum socket connect timeout in milliseconds before giving up connecting to the server. Defaults toConfigurationProperties.DEFAULT_CONNECT_TIMEOUT
- Specified by:
connectionTimeout
in interfaceConfigurationChildBuilder
-
consistentHashImpl
public ConfigurationBuilder consistentHashImpl(int version, Class<? extends org.infinispan.client.hotrod.impl.consistenthash.ConsistentHash> consistentHashClass) Description copied from interface:ConfigurationChildBuilder
Defines theConsistentHash
implementation to use for the specified version. By default,ConsistentHashV2
is used for version 1 andConsistentHashV2
is used for version 2.- Specified by:
consistentHashImpl
in interfaceConfigurationChildBuilder
-
consistentHashImpl
Description copied from interface:ConfigurationChildBuilder
Defines theConsistentHash
implementation to use for the specified version. By default,ConsistentHashV2
is used for version 1 andConsistentHashV2
is used for version 2.- Specified by:
consistentHashImpl
in interfaceConfigurationChildBuilder
-
dnsResolverMinTTL
- Specified by:
dnsResolverMinTTL
in interfaceConfigurationChildBuilder
-
dnsResolverMaxTTL
- Specified by:
dnsResolverMaxTTL
in interfaceConfigurationChildBuilder
-
dnsResolverNegativeTTL
- Specified by:
dnsResolverNegativeTTL
in interfaceConfigurationChildBuilder
-
forceReturnValues
Description copied from interface:ConfigurationChildBuilder
Whether or not to implicitly FORCE_RETURN_VALUE for all calls.- Specified by:
forceReturnValues
in interfaceConfigurationChildBuilder
-
keySizeEstimate
@Deprecated(forRemoval=true, since="12.0") public ConfigurationBuilder keySizeEstimate(int keySizeEstimate) Deprecated, for removal: This API element is subject to removal in a future version.Since 12.0, does nothing and will be removed in 15.0- Specified by:
keySizeEstimate
in interfaceConfigurationChildBuilder
-
marshaller
Description copied from interface:ConfigurationChildBuilder
Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects. This method is mutually exclusive withConfigurationChildBuilder.marshaller(Marshaller)
.- Specified by:
marshaller
in interfaceConfigurationChildBuilder
-
marshaller
Description copied from interface:ConfigurationChildBuilder
Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects. This method is mutually exclusive withConfigurationChildBuilder.marshaller(Marshaller)
.- Specified by:
marshaller
in interfaceConfigurationChildBuilder
-
marshaller
Description copied from interface:ConfigurationChildBuilder
Allows you to specify an instance ofMarshaller
to serialize and deserialize user objects. This method is mutually exclusive withConfigurationChildBuilder.marshaller(Class)
.- Specified by:
marshaller
in interfaceConfigurationChildBuilder
-
addContextInitializer
Description copied from interface:ConfigurationChildBuilder
Supply aSerializationContextInitializer
implementation to register classes with theProtoStreamMarshaller
'sSerializationContext
.- Specified by:
addContextInitializer
in interfaceConfigurationChildBuilder
-
addContextInitializer
public ConfigurationBuilder addContextInitializer(org.infinispan.protostream.SerializationContextInitializer contextInitializer) Description copied from interface:ConfigurationChildBuilder
Supply aSerializationContextInitializer
implementation to register classes with theProtoStreamMarshaller
'sSerializationContext
.- Specified by:
addContextInitializer
in interfaceConfigurationChildBuilder
-
addContextInitializers
public ConfigurationBuilder addContextInitializers(org.infinispan.protostream.SerializationContextInitializer... contextInitializers) Description copied from interface:ConfigurationChildBuilder
Convenience method to supply multipleSerializationContextInitializer
implementations.- Specified by:
addContextInitializers
in interfaceConfigurationChildBuilder
-
nearCache
Deprecated, for removal: This API element is subject to removal in a future version.since 11.0. To be removed in 14.0. UseRemoteCacheConfigurationBuilder.nearCacheMode(NearCacheMode)
andRemoteCacheConfigurationBuilder.nearCacheMaxEntries(int)
instead. -
version
Description copied from interface:ConfigurationChildBuilder
This property defines the protocol version that this client should use. Defaults to the latest protocol version supported by this client.- Specified by:
version
in interfaceConfigurationChildBuilder
-
security
Description copied from interface:ConfigurationChildBuilder
Security Configuration- Specified by:
security
in interfaceConfigurationChildBuilder
-
socketTimeout
Description copied from interface:ConfigurationChildBuilder
This property defines the maximum socket read timeout in milliseconds before giving up waiting for bytes from the server. Defaults toConfigurationProperties.DEFAULT_SO_TIMEOUT
- Specified by:
socketTimeout
in interfaceConfigurationChildBuilder
-
tcpNoDelay
Description copied from interface:ConfigurationChildBuilder
Affects TCP NODELAY on the TCP stack. Defaults to enabled- Specified by:
tcpNoDelay
in interfaceConfigurationChildBuilder
-
tcpKeepAlive
Description copied from interface:ConfigurationChildBuilder
Affects TCP KEEPALIVE on the TCP stack. Defaults to disable- Specified by:
tcpKeepAlive
in interfaceConfigurationChildBuilder
-
uri
Description copied from interface:ConfigurationChildBuilder
Configures this builder using the specified URI.- Specified by:
uri
in interfaceConfigurationChildBuilder
-
uri
Description copied from interface:ConfigurationChildBuilder
Configures this builder using the specified URI.- Specified by:
uri
in interfaceConfigurationChildBuilder
-
valueSizeEstimate
@Deprecated(forRemoval=true, since="12.0") public ConfigurationBuilder valueSizeEstimate(int valueSizeEstimate) Deprecated, for removal: This API element is subject to removal in a future version.Since 12.0, does nothing and will be removed in 15.0- Specified by:
valueSizeEstimate
in interfaceConfigurationChildBuilder
-
maxRetries
Description copied from interface:ConfigurationChildBuilder
It sets the maximum number of retries for each request. A valid value should be greater or equals than 0 (zero). Zero means no retry will made in case of a network failure. It defaults to 10.- Specified by:
maxRetries
in interfaceConfigurationChildBuilder
-
serverFailureTimeout
Description copied from interface:ConfigurationChildBuilder
The time for a failed server to be cleared allowing for it to attempt to reconnect at a later point.If the value is less than or equal to 0 it will be disabled, meaning a failed server will not be reconnected to until all configured servers have failed or a topology update (
ClientIntelligence.TOPOLOGY_AWARE
andClientIntelligence.HASH_DISTRIBUTION_AWARE
only)- Specified by:
serverFailureTimeout
in interfaceConfigurationChildBuilder
- Parameters:
timeoutInMilliseconds
- the timeout to attempt to clear a failed server in milliseconds- Returns:
- this builder
-
addJavaSerialAllowList
Description copied from interface:ConfigurationChildBuilder
List of regular expressions for classes that can be deserialized using standard Java deserialization when reading data that might have been stored with a different endpoint, e.g. REST.- Specified by:
addJavaSerialAllowList
in interfaceConfigurationChildBuilder
-
addJavaSerialWhiteList
@Deprecated(forRemoval=true, since="12.0") public ConfigurationBuilder addJavaSerialWhiteList(String... regEx) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
addJavaSerialWhiteList
in interfaceConfigurationChildBuilder
-
batchSize
Description copied from interface:ConfigurationChildBuilder
Sets the batch size of internal iterators (ie.keySet().iterator()
. Defaults to 10_000- Specified by:
batchSize
in interfaceConfigurationChildBuilder
- Parameters:
batchSize
- the batch size to set- Returns:
- this configuration builder with the batch size set
-
statistics
Description copied from interface:ConfigurationChildBuilder
Configures client-side statistics.- Specified by:
statistics
in interfaceConfigurationChildBuilder
-
transaction
Description copied from interface:ConfigurationChildBuilder
Transaction configuration- Specified by:
transaction
in interfaceConfigurationChildBuilder
-
remoteCache
Description copied from interface:ConfigurationChildBuilder
Per-cache configuration- Specified by:
remoteCache
in interfaceConfigurationChildBuilder
- Parameters:
name
- the name of the cache to which specific configuration should be applied. You may use wildcard globbing (e.g.cache-*
) which will apply to any cache that matches.- Returns:
- the
RemoteCacheConfigurationBuilder
for the cache
-
transactionTimeout
Description copied from interface:ConfigurationChildBuilder
Sets the transaction's timeout.This timeout is used by the server to rollback unrecoverable transaction when they are idle for this amount of time.
An unrecoverable transaction are transaction enlisted as
Synchronization
(TransactionMode.NON_XA
) orXAResource
without recovery enabled (TransactionMode.NON_DURABLE_XA
).For
XAResource
, this value is overwritten byXAResource.setTransactionTimeout(int)
.It defaults to 1 minute.
- Specified by:
transactionTimeout
in interfaceConfigurationChildBuilder
-
transportFactory
Description copied from interface:ConfigurationChildBuilder
Set the TransportFactory. It defaults toDefaultTransportFactory
- Specified by:
transportFactory
in interfaceConfigurationChildBuilder
- Parameters:
transportFactory
- an instance ofTransportFactory
-
disableTracingPropagation
-
withProperties
Description copied from interface:ConfigurationChildBuilder
Configures this builder using the specified properties. SeeConfigurationBuilder
for a list.- Specified by:
withProperties
in interfaceConfigurationChildBuilder
-
validate
public void validate()Description copied from interface:Builder
Validate the data in this builder before building the configuration bean- Specified by:
validate
in interfaceBuilder<Configuration>
-
create
Description copied from interface:Builder
Create the configuration bean- Specified by:
create
in interfaceBuilder<Configuration>
- Returns:
-
build
Description copied from interface:ConfigurationChildBuilder
Builds a configuration object- Specified by:
build
in interfaceConfigurationChildBuilder
-
build
-
read
Description copied from interface:Builder
Reads the configuration from an already created configuration bean into this builder. Returns an appropriate builder to allow fluent configuration- Specified by:
read
in interfaceBuilder<Configuration>
- Parameters:
template
- the configuration from which to "clone" this config if needed.combine
- the way attributes and children of this instance and the template should be combined.
-
read
- Specified by:
read
in interfaceBuilder<Configuration>
-