Class ConfigurationBuilder
- java.lang.Object
-
- org.infinispan.client.hotrod.configuration.ConfigurationBuilder
-
- All Implemented Interfaces:
ConfigurationChildBuilder
,org.infinispan.commons.configuration.Builder<Configuration>
public class ConfigurationBuilder extends Object implements ConfigurationChildBuilder, org.infinispan.commons.configuration.Builder<Configuration>
ConfigurationBuilder used to generate immutable
Configuration
objects to pass to theRemoteCacheManager(Configuration)
constructor.It is also possible to configure the
RemoteCacheManager
via a properties file named hotrod-client.properties and placed in the classpath. The following table describes the individual properties and the related programmatic configuration API.Name Type Default Description infinispan.client.hotrod.server_list String N/A AbstractConfigurationChildBuilder.addServers(String)
infinispan.client.hotrod.marshaller String (class name) GenericJBossMarshaller
marshaller(String)
infinispan.client.hotrod.async_executor_factory String (class name) DefaultAsyncExecutorFactory
ExecutorFactoryConfigurationBuilder.factoryClass(String)
infinispan.client.hotrod.default_executor_factory.pool_size Integer 99 Size of the thread pool infinispan.client.hotrod.client_intelligence String HASH_DISTRIBUTION_AWARE clientIntelligence(ClientIntelligence)
infinispan.client.hotrod.tcp_no_delay Boolean true tcpNoDelay(boolean)
infinispan.client.hotrod.tcp_keep_alive Boolean true tcpKeepAlive(boolean)
infinispan.client.hotrod.request_balancing_strategy String (class name) RoundRobinBalancingStrategy
balancingStrategy(String)
infinispan.client.hotrod.key_size_estimate Integer 64 keySizeEstimate(int)
infinispan.client.hotrod.value_size_estimate Integer 512 valueSizeEstimate(int)
infinispan.client.hotrod.force_return_values Boolean false forceReturnValues(boolean)
infinispan.client.hotrod.hash_function_impl.2 String ConsistentHashV2
consistentHashImpl(int, String)
infinispan.client.hotrod.socket_timeout Integer 60000 socketTimeout(int)
infinispan.client.hotrod.connect_timeout Integer 60000 connectionTimeout(int)
infinispan.client.hotrod.protocol_version String The highest version supported by the client in use version(ProtocolVersion)
infinispan.client.hotrod.use_ssl Boolean false Will be implicitly enabled if a trust store is set. SslConfigurationBuilder.enabled(boolean)
infinispan.client.hotrod.key_store_file_name String N/A SslConfigurationBuilder.keyStoreFileName(String)
infinispan.client.hotrod.key_store_type String JKS SslConfigurationBuilder.keyStoreType(String)
infinispan.client.hotrod.key_store_password String N/A SslConfigurationBuilder.keyStorePassword(char[])
infinispan.client.hotrod.sni_host_name String N/A SslConfigurationBuilder.sniHostName(String)
infinispan.client.hotrod.key_alias String N/A SslConfigurationBuilder.keyAlias(String)
infinispan.client.hotrod.key_store_certificate_password String N/A SslConfigurationBuilder.keyStoreCertificatePassword(char[])
infinispan.client.hotrod.trust_store_file_name String N/A SslConfigurationBuilder.trustStoreFileName(String)
infinispan.client.hotrod.trust_store_path String N/A SslConfigurationBuilder.trustStorePath(String)
infinispan.client.hotrod.trust_store_type String JKS SslConfigurationBuilder.trustStoreType(String)
infinispan.client.hotrod.trust_store_password String N/A SslConfigurationBuilder.trustStorePassword(char[])
infinispan.client.hotrod.ssl_protocol String N/A SslConfigurationBuilder.protocol(String)
infinispan.client.hotrod.ssl_context javax.net.ssl.SSLContext N/A Can only be set programmatically. SslConfigurationBuilder.sslContext(javax.net.ssl.SSLContext)
infinispan.client.hotrod.max_retries Integer 10 maxRetries(int)
infinispan.client.hotrod.use_auth Boolean Implicitly enabled by other authentication properties AuthenticationConfigurationBuilder.enabled(boolean)
infinispan.client.hotrod.sasl_mechanism String DIGEST-MD5 if username and password are set
EXTERNAL if a key store is setAuthenticationConfigurationBuilder.saslMechanism(String)
infinispan.client.hotrod.auth_callback_handler String Chosen automatically based on selected SASL mech AuthenticationConfigurationBuilder.callbackHandler(javax.security.auth.callback.CallbackHandler)
infinispan.client.hotrod.auth_server_name String N/A AuthenticationConfigurationBuilder.serverName(String)
infinispan.client.hotrod.auth_username String N/A AuthenticationConfigurationBuilder.username(String)
infinispan.client.hotrod.auth_password String N/A AuthenticationConfigurationBuilder.password(char[])
infinispan.client.hotrod.auth_realm String ApplicationRealm AuthenticationConfigurationBuilder.realm(String)
infinispan.client.hotrod.auth_client_subject javax.security.auth.Subject N/A Can only be set programmatically. AuthenticationConfigurationBuilder.clientSubject(javax.security.auth.Subject)
infinispan.client.hotrod.sasl_properties.* String N/A One per SASL property. AuthenticationConfigurationBuilder.saslProperties(java.util.Map)
infinispan.client.hotrod.java_serial_whitelist String N/A addJavaSerialWhiteList(String...)
infinispan.client.hotrod.batch_size Integer 10000 batchSize(int)
- Since:
- 5.3
- Author:
- Tristan Tarrant
-
-
Constructor Summary
Constructors Constructor Description ConfigurationBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ClusterConfigurationBuilder
addCluster(String clusterName)
Adds a new remote server clusterConfigurationBuilder
addJavaSerialWhiteList(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.ServerConfigurationBuilder
addServer()
Adds a new remote serverConfigurationBuilder
addServers(String servers)
Adds a list of remote servers in the form: host1[:port][;host2[:port]]...ExecutorFactoryConfigurationBuilder
asyncExecutorFactory()
Configuration for the executor service used for asynchronous work on the Transport, including asynchronous marshalling and Cache 'async operations' such as Cache.putAsync().ConfigurationBuilder
balancingStrategy(Class<? extends FailoverRequestBalancingStrategy> balancingStrategy)
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.ConfigurationBuilder
balancingStrategy(String balancingStrategy)
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.ConfigurationBuilder
balancingStrategy(Supplier<FailoverRequestBalancingStrategy> balancingStrategyFactory)
For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the servers according to this strategy.ConfigurationBuilder
balancingStrategy(FailoverRequestBalancingStrategy balancingStrategy)
Deprecated.ConfigurationBuilder
batchSize(int batchSize)
Sets the batch size of internal iterators (ie.Configuration
build()
Builds a configuration objectConfiguration
build(boolean validate)
ConfigurationBuilder
classLoader(ClassLoader cl)
Specifies theClassLoader
used to find certain resources used by configuration when specified by name (e.g.ConfigurationBuilder
clientIntelligence(ClientIntelligence clientIntelligence)
Specifies the level of "intelligence" the client should haveConnectionPoolConfigurationBuilder
connectionPool()
Configures the connection poolConfigurationBuilder
connectionTimeout(int connectionTimeout)
This property defines the maximum socket connect timeout before giving up connecting to the server.ConfigurationBuilder
consistentHashImpl(int version, Class<? extends ConsistentHash> consistentHashClass)
Defines theConsistentHash
implementation to use for the specified version.ConfigurationBuilder
consistentHashImpl(int version, String consistentHashClass)
Defines theConsistentHash
implementation to use for the specified version.Configuration
create()
ConfigurationBuilder
forceReturnValues(boolean forceReturnValues)
Whether or not to implicitly FORCE_RETURN_VALUE for all calls.ConfigurationBuilder
keySizeEstimate(int keySizeEstimate)
This hint allows sizing of byte buffers when serializing and deserializing keys, to minimize array resizing.ConfigurationBuilder
marshaller(Class<? extends org.infinispan.commons.marshall.Marshaller> marshaller)
Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects.ConfigurationBuilder
marshaller(String marshaller)
Allows you to specify a customMarshaller
implementation to serialize and deserialize user objects.ConfigurationBuilder
marshaller(org.infinispan.commons.marshall.Marshaller marshaller)
Allows you to specify an instance ofMarshaller
to serialize and deserialize user objects.ConfigurationBuilder
maxRetries(int maxRetries)
It sets the maximum number of retries for each request.NearCacheConfigurationBuilder
nearCache()
ConfigurationBuilder
protocolVersion(String protocolVersion)
Deprecated.Useversion(ProtocolVersion)
instead.ConfigurationBuilder
read(Configuration template)
SecurityConfigurationBuilder
security()
Security ConfigurationConfigurationBuilder
socketTimeout(int socketTimeout)
This property defines the maximum socket read timeout in milliseconds before giving up waiting for bytes from the server.ConfigurationBuilder
tcpKeepAlive(boolean keepAlive)
Affects TCP KEEPALIVE on the TCP stack.ConfigurationBuilder
tcpNoDelay(boolean tcpNoDelay)
Affects TCP NODELAY on the TCP stack.TransactionConfigurationBuilder
transaction()
Transaction configurationConfigurationBuilder
transportFactory(Class<? extends TransportFactory> transportFactory)
Controls which transport to use.ConfigurationBuilder
transportFactory(String transportFactory)
Controls which transport to use.void
validate()
ConfigurationBuilder
valueSizeEstimate(int valueSizeEstimate)
This hint allows sizing of byte buffers when serializing and deserializing values, to minimize array resizing.ConfigurationBuilder
version(ProtocolVersion protocolVersion)
This property defines the protocol version that this client should use.ConfigurationBuilder
withProperties(Properties properties)
Configures this builder using the specified properties.
-
-
-
Method Detail
-
addServer
public ServerConfigurationBuilder addServer()
Description copied from interface:ConfigurationChildBuilder
Adds a new remote server- Specified by:
addServer
in interfaceConfigurationChildBuilder
-
addCluster
public ClusterConfigurationBuilder addCluster(String clusterName)
Description copied from interface:ConfigurationChildBuilder
Adds a new remote server cluster- Specified by:
addCluster
in interfaceConfigurationChildBuilder
-
addServers
public ConfigurationBuilder addServers(String servers)
Description copied from interface:ConfigurationChildBuilder
Adds a list of remote servers in the form: host1[:port][;host2[:port]]...- Specified by:
addServers
in interfaceConfigurationChildBuilder
-
asyncExecutorFactory
public ExecutorFactoryConfigurationBuilder 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
public ConfigurationBuilder balancingStrategy(String 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
@Deprecated public ConfigurationBuilder balancingStrategy(FailoverRequestBalancingStrategy balancingStrategy)
Deprecated.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
-
classLoader
public ConfigurationBuilder classLoader(ClassLoader cl)
Description copied from interface:ConfigurationChildBuilder
Specifies theClassLoader
used to find certain resources used by configuration when specified by name (e.g. certificate stores). Infinispan will search through the classloader which loaded this class, the system classloader, the TCCL and the OSGi classloader (if applicable).- Specified by:
classLoader
in interfaceConfigurationChildBuilder
-
clientIntelligence
public ConfigurationBuilder clientIntelligence(ClientIntelligence clientIntelligence)
Description copied from interface:ConfigurationChildBuilder
Specifies the level of "intelligence" the client should have- Specified by:
clientIntelligence
in interfaceConfigurationChildBuilder
-
connectionPool
public ConnectionPoolConfigurationBuilder connectionPool()
Description copied from interface:ConfigurationChildBuilder
Configures the connection pool- Specified by:
connectionPool
in interfaceConfigurationChildBuilder
-
connectionTimeout
public ConfigurationBuilder connectionTimeout(int connectionTimeout)
Description copied from interface:ConfigurationChildBuilder
This property defines the maximum socket connect timeout before giving up connecting to the server.- Specified by:
connectionTimeout
in interfaceConfigurationChildBuilder
-
consistentHashImpl
public ConfigurationBuilder consistentHashImpl(int version, Class<? extends 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
public ConfigurationBuilder consistentHashImpl(int version, String 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
-
forceReturnValues
public ConfigurationBuilder forceReturnValues(boolean forceReturnValues)
Description copied from interface:ConfigurationChildBuilder
Whether or not to implicitly FORCE_RETURN_VALUE for all calls.- Specified by:
forceReturnValues
in interfaceConfigurationChildBuilder
-
keySizeEstimate
public ConfigurationBuilder keySizeEstimate(int keySizeEstimate)
Description copied from interface:ConfigurationChildBuilder
This hint allows sizing of byte buffers when serializing and deserializing keys, to minimize array resizing. It defaults to 64.- Specified by:
keySizeEstimate
in interfaceConfigurationChildBuilder
-
marshaller
public ConfigurationBuilder marshaller(String 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
public ConfigurationBuilder marshaller(Class<? extends org.infinispan.commons.marshall.Marshaller> 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
public ConfigurationBuilder marshaller(org.infinispan.commons.marshall.Marshaller 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
-
nearCache
public NearCacheConfigurationBuilder nearCache()
-
protocolVersion
@Deprecated public ConfigurationBuilder protocolVersion(String protocolVersion)
Deprecated.Useversion(ProtocolVersion)
instead.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:
protocolVersion
in interfaceConfigurationChildBuilder
-
version
public ConfigurationBuilder version(ProtocolVersion protocolVersion)
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
public SecurityConfigurationBuilder security()
Description copied from interface:ConfigurationChildBuilder
Security Configuration- Specified by:
security
in interfaceConfigurationChildBuilder
-
socketTimeout
public ConfigurationBuilder socketTimeout(int 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 to 60000 (1 minute)- Specified by:
socketTimeout
in interfaceConfigurationChildBuilder
-
tcpNoDelay
public ConfigurationBuilder tcpNoDelay(boolean tcpNoDelay)
Description copied from interface:ConfigurationChildBuilder
Affects TCP NODELAY on the TCP stack. Defaults to enabled- Specified by:
tcpNoDelay
in interfaceConfigurationChildBuilder
-
tcpKeepAlive
public ConfigurationBuilder tcpKeepAlive(boolean keepAlive)
Description copied from interface:ConfigurationChildBuilder
Affects TCP KEEPALIVE on the TCP stack. Defaults to disable- Specified by:
tcpKeepAlive
in interfaceConfigurationChildBuilder
-
transportFactory
public ConfigurationBuilder transportFactory(String transportFactory)
Description copied from interface:ConfigurationChildBuilder
Controls which transport to use.- Specified by:
transportFactory
in interfaceConfigurationChildBuilder
-
transportFactory
public ConfigurationBuilder transportFactory(Class<? extends TransportFactory> transportFactory)
Description copied from interface:ConfigurationChildBuilder
Controls which transport to use.- Specified by:
transportFactory
in interfaceConfigurationChildBuilder
-
valueSizeEstimate
public ConfigurationBuilder valueSizeEstimate(int valueSizeEstimate)
Description copied from interface:ConfigurationChildBuilder
This hint allows sizing of byte buffers when serializing and deserializing values, to minimize array resizing. It defaults to 512- Specified by:
valueSizeEstimate
in interfaceConfigurationChildBuilder
-
maxRetries
public ConfigurationBuilder maxRetries(int 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
-
addJavaSerialWhiteList
public ConfigurationBuilder addJavaSerialWhiteList(String... regEx)
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:
addJavaSerialWhiteList
in interfaceConfigurationChildBuilder
-
batchSize
public ConfigurationBuilder batchSize(int 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
-
transaction
public TransactionConfigurationBuilder transaction()
Description copied from interface:ConfigurationChildBuilder
Transaction configuration- Specified by:
transaction
in interfaceConfigurationChildBuilder
-
withProperties
public ConfigurationBuilder withProperties(Properties properties)
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()
- Specified by:
validate
in interfaceorg.infinispan.commons.configuration.Builder<Configuration>
-
create
public Configuration create()
- Specified by:
create
in interfaceorg.infinispan.commons.configuration.Builder<Configuration>
-
build
public Configuration build()
Description copied from interface:ConfigurationChildBuilder
Builds a configuration object- Specified by:
build
in interfaceConfigurationChildBuilder
-
build
public Configuration build(boolean validate)
-
read
public ConfigurationBuilder read(Configuration template)
- Specified by:
read
in interfaceorg.infinispan.commons.configuration.Builder<Configuration>
-
-