org.apache.ignite.configuration

## Class ClientConfiguration

- java.lang.Object
- - org.apache.ignite.configuration.ClientConfiguration

All Implemented Interfaces:
  Serializable

    public final class ClientConfiguration
    extends Object
    implements Serializable

`TcpIgniteClient` configuration.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ClientConfiguration()`

### Method Summary

All Methods Instance Methods Concrete Methods
`String[]` `getAddresses()`
`ClientAddressFinder` `getAddressesFinder()`
`Executor` `getAsyncContinuationExecutor()` Gets the async continuation executor.
`BinaryConfiguration` `getBinaryConfiguration()`
`int` `getReceiveBufferSize()`
`long` `getReconnectThrottlingPeriod()` Gets reconnect throttling period.
`int` `getReconnectThrottlingRetries()` Gets reconnect throttling retries.
`int` `getRetryLimit()` Get retry limit.
`int` `getSendBufferSize()`
`String` `getSslClientCertificateKeyStorePassword()`
`String` `getSslClientCertificateKeyStorePath()`
`String` `getSslClientCertificateKeyStoreType()`
`javax.cache.configuration.Factory<SSLContext>` `getSslContextFactory()`
`String` `getSslKeyAlgorithm()`
`SslMode` `getSslMode()`
`SslProtocol` `getSslProtocol()`
`String` `getSslTrustCertificateKeyStorePassword()`
`String` `getSslTrustCertificateKeyStorePath()`
`String` `getSslTrustCertificateKeyStoreType()`
`int` `getTimeout()`
`ClientTransactionConfiguration` `getTransactionConfiguration()` Gets transactions configuration.
`Map<String,String>` `getUserAttributes()` Returns user attributes which can be used on server node.
`String` `getUserName()`
`String` `getUserPassword()`
`boolean` `isPartitionAwarenessEnabled()` Gets a value indicating whether partition awareness should be enabled.
`boolean` `isSslTrustAll()`
`boolean` `isTcpNoDelay()`
`ClientConfiguration` `setAddresses(String... addrs)` Set addresses of Ignite server nodes within a cluster.
`ClientConfiguration` `setAddressesFinder(ClientAddressFinder finder)`
`ClientConfiguration` `setAsyncContinuationExecutor(Executor asyncContinuationExecutor)` Sets the async continuation executor.
`ClientConfiguration` `setBinaryConfiguration(BinaryConfiguration binaryCfg)`
`ClientConfiguration` `setPartitionAwarenessEnabled(boolean partitionAwarenessEnabled)` Sets a value indicating whether partition awareness should be enabled.
`ClientConfiguration` `setReceiveBufferSize(int rcvBufSize)`
`ClientConfiguration` `setReconnectThrottlingPeriod(long reconnectThrottlingPeriod)` Sets reconnect throttling period.
`ClientConfiguration` `setReconnectThrottlingRetries(int reconnectThrottlingRetries)` Sets reconnect throttling retries.
`ClientConfiguration` `setRetryLimit(int retryLimit)` Sets the retry limit.
`ClientConfiguration` `setSendBufferSize(int sndBufSize)`
`ClientConfiguration` `setSslClientCertificateKeyStorePassword(String newVal)`
`ClientConfiguration` `setSslClientCertificateKeyStorePath(String newVal)`
`ClientConfiguration` `setSslClientCertificateKeyStoreType(String newVal)`
`ClientConfiguration` `setSslContextFactory(javax.cache.configuration.Factory<SSLContext> newVal)`
`ClientConfiguration` `setSslKeyAlgorithm(String newVal)`
`ClientConfiguration` `setSslMode(SslMode sslMode)`
`ClientConfiguration` `setSslProtocol(SslProtocol newVal)`
`ClientConfiguration` `setSslTrustAll(boolean newVal)`
`ClientConfiguration` `setSslTrustCertificateKeyStorePassword(String newVal)`
`ClientConfiguration` `setSslTrustCertificateKeyStorePath(String newVal)`
`ClientConfiguration` `setSslTrustCertificateKeyStoreType(String newVal)`
`ClientConfiguration` `setTcpNoDelay(boolean tcpNoDelay)`
`ClientConfiguration` `setTimeout(int timeout)`
`ClientConfiguration` `setTransactionConfiguration(ClientTransactionConfiguration txCfg)` Sets transactions configuration.
`ClientConfiguration` `setUserAttributes(Map<String,String> userAttrs)` Sets user attributes which can be used to send additional info to the server nodes.
`ClientConfiguration` `setUserName(String newVal)`
`ClientConfiguration` `setUserPassword(String newVal)`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ClientConfiguration

    public ClientConfiguration()

### Method Detail

#### getAddresses

    public String[] getAddresses()

Returns:
  Host addresses.

#### setAddresses

    public ClientConfiguration setAddresses(String... addrs)

Set addresses of Ignite server nodes within a cluster. An address can be IPv4 address or hostname, with or without port. If port is not set then Ignite will generate multiple addresses for default port range. See `ClientConnectorConfiguration.DFLT_PORT`, `ClientConnectorConfiguration.DFLT_PORT_RANGE`.

Parameters:
  `addrs` - Host addresses.

#### getAddressesFinder

    public ClientAddressFinder getAddressesFinder()

Returns:
  Finder that finds server node addresses.

#### setAddressesFinder

    public ClientConfiguration setAddressesFinder(ClientAddressFinder finder)

Parameters:
  `finder` - Finds server node addresses.

#### isTcpNoDelay

    public boolean isTcpNoDelay()

Returns:
  Whether Nagle's algorithm is enabled.

#### setTcpNoDelay

    public ClientConfiguration setTcpNoDelay(boolean tcpNoDelay)

Parameters:
  `tcpNoDelay` - whether Nagle's algorithm is enabled.

#### getTimeout

    public int getTimeout()

Returns:
  Send/receive timeout in milliseconds.

#### setTimeout

    public ClientConfiguration setTimeout(int timeout)

Parameters:
  `timeout` - Send/receive timeout in milliseconds.

#### getSendBufferSize

    public int getSendBufferSize()

Returns:
  Send buffer size.

#### setSendBufferSize

    public ClientConfiguration setSendBufferSize(int sndBufSize)

Parameters:
  `sndBufSize` - Send buffer size.

#### getReceiveBufferSize

    public int getReceiveBufferSize()

Returns:
  Send buffer size.

#### setReceiveBufferSize

    public ClientConfiguration setReceiveBufferSize(int rcvBufSize)

Parameters:
  `rcvBufSize` - Send buffer size.

#### getBinaryConfiguration

    public BinaryConfiguration getBinaryConfiguration()

Returns:
  Configuration for Ignite Binary objects.

#### setBinaryConfiguration

    public ClientConfiguration setBinaryConfiguration(BinaryConfiguration binaryCfg)

Parameters:
  `binaryCfg` - Configuration for Ignite Binary objects.

#### getSslMode

    public SslMode getSslMode()

Returns:
  SSL mode.

#### setSslMode

    public ClientConfiguration setSslMode(SslMode sslMode)

Parameters:
  `sslMode` - SSL mode.

#### getSslClientCertificateKeyStorePath

    public String getSslClientCertificateKeyStorePath()

Returns:
  Ssl client certificate key store path.

#### setSslClientCertificateKeyStorePath

    public ClientConfiguration setSslClientCertificateKeyStorePath(String newVal)

Parameters:
  `newVal` - Ssl client certificate key store path.

#### getSslClientCertificateKeyStorePassword

    public String getSslClientCertificateKeyStorePassword()

Returns:
  Ssl client certificate key store password.

#### setSslClientCertificateKeyStorePassword

    public ClientConfiguration setSslClientCertificateKeyStorePassword(String newVal)

Parameters:
  `newVal` - Ssl client certificate key store password.

#### getSslClientCertificateKeyStoreType

    public String getSslClientCertificateKeyStoreType()

Returns:
  Ssl client certificate key store type.

#### setSslClientCertificateKeyStoreType

    public ClientConfiguration setSslClientCertificateKeyStoreType(String newVal)

Parameters:
  `newVal` - Ssl client certificate key store type.

#### getSslTrustCertificateKeyStorePath

    public String getSslTrustCertificateKeyStorePath()

Returns:
  Ssl trust certificate key store path.

#### setSslTrustCertificateKeyStorePath

    public ClientConfiguration setSslTrustCertificateKeyStorePath(String newVal)

Parameters:
  `newVal` - Ssl trust certificate key store path.

#### getSslTrustCertificateKeyStorePassword

    public String getSslTrustCertificateKeyStorePassword()

Returns:
  Ssl trust certificate key store password.

#### setSslTrustCertificateKeyStorePassword

    public ClientConfiguration setSslTrustCertificateKeyStorePassword(String newVal)

Parameters:
  `newVal` - Ssl trust certificate key store password.

#### getSslTrustCertificateKeyStoreType

    public String getSslTrustCertificateKeyStoreType()

Returns:
  Ssl trust certificate key store type.

#### setSslTrustCertificateKeyStoreType

    public ClientConfiguration setSslTrustCertificateKeyStoreType(String newVal)

Parameters:
  `newVal` - Ssl trust certificate key store type.

#### getSslKeyAlgorithm

    public String getSslKeyAlgorithm()

Returns:
  Ssl key algorithm.

#### setSslKeyAlgorithm

    public ClientConfiguration setSslKeyAlgorithm(String newVal)

Parameters:
  `newVal` - Ssl key algorithm.

#### isSslTrustAll

    public boolean isSslTrustAll()

Returns:
  Flag indicating if certificate validation errors should be ignored.

#### setSslTrustAll

    public ClientConfiguration setSslTrustAll(boolean newVal)

Parameters:
  `newVal` - Flag indicating if certificate validation errors should be ignored.

#### getSslProtocol

    public SslProtocol getSslProtocol()

Returns:
  Ssl protocol.

#### setSslProtocol

    public ClientConfiguration setSslProtocol(SslProtocol newVal)

Parameters:
  `newVal` - Ssl protocol.

#### getUserName

    public String getUserName()

Returns:
  User name.

#### setUserName

    public ClientConfiguration setUserName(String newVal)

Parameters:
  `newVal` - User name.

#### getUserPassword

    public String getUserPassword()

Returns:
  User password.

#### setUserPassword

    public ClientConfiguration setUserPassword(String newVal)

Parameters:
  `newVal` - User password.

#### getSslContextFactory

    public javax.cache.configuration.Factory<SSLContext> getSslContextFactory()

Returns:
  SSL Context Factory.

#### setSslContextFactory

    public ClientConfiguration setSslContextFactory(javax.cache.configuration.Factory<SSLContext> newVal)

Parameters:
  `newVal` - SSL Context Factory.

#### getTransactionConfiguration

    public ClientTransactionConfiguration getTransactionConfiguration()

Gets transactions configuration.

Returns:
  Transactions configuration.

#### setTransactionConfiguration

    public ClientConfiguration setTransactionConfiguration(ClientTransactionConfiguration txCfg)

Sets transactions configuration.

Returns:
  `this` for chaining.

#### isPartitionAwarenessEnabled

    public boolean isPartitionAwarenessEnabled()

Gets a value indicating whether partition awareness should be enabled.

Default is `true`: client sends requests directly to the primary node for the given cache key. To do so, connection is established to every known server node.

When `false`, only one connection is established at a given moment to a random server node.

#### setPartitionAwarenessEnabled

    public ClientConfiguration setPartitionAwarenessEnabled(boolean partitionAwarenessEnabled)

Sets a value indicating whether partition awareness should be enabled.

Default is `true`: client sends requests directly to the primary node for the given cache key. To do so, connection is established to every known server node.

When `false`, only one connection is established at a given moment to a random server node.

Returns:
  `this` for chaining.

#### getReconnectThrottlingPeriod

    public long getReconnectThrottlingPeriod()

Gets reconnect throttling period.

#### setReconnectThrottlingPeriod

    public ClientConfiguration setReconnectThrottlingPeriod(long reconnectThrottlingPeriod)

Sets reconnect throttling period.

Returns:
  `this` for chaining.

#### getReconnectThrottlingRetries

    public int getReconnectThrottlingRetries()

Gets reconnect throttling retries.

#### setReconnectThrottlingRetries

    public ClientConfiguration setReconnectThrottlingRetries(int reconnectThrottlingRetries)

Sets reconnect throttling retries.

Returns:
  `this` for chaining.

#### getRetryLimit

    public int getRetryLimit()

Get retry limit.

#### setRetryLimit

    public ClientConfiguration setRetryLimit(int retryLimit)

Sets the retry limit. When a request fails due to a connection error, and multiple server connections are available, Ignite will retry the request on every connection. When this property is greater than zero, Ignite will limit the number of retries.

Returns:
  `this` for chaining.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### getUserAttributes

    public Map<String,String> getUserAttributes()

Returns user attributes which can be used on server node.

Returns:
  User attributes.

#### setUserAttributes

    public ClientConfiguration setUserAttributes(Map<String,String> userAttrs)

Sets user attributes which can be used to send additional info to the server nodes. Sent attributes can be accessed on server nodes from `GridRestRequest` or `ClientListenerAbstractConnectionContext` (depends on client type).

Parameters:
  `userAttrs` - User attributes.
Returns:
  `this` for chaining.

#### getAsyncContinuationExecutor

    public Executor getAsyncContinuationExecutor()

Gets the async continuation executor.

When `null` (default), `ForkJoinPool.commonPool()` is used.

When async client operation completes, corresponding `IgniteFuture` listeners will be invoked using this executor. Thin client operation results are handled by a dedicated thread. This thread should be free from any extra work, and should not be not be used to execute future listeners directly.

Returns:
  Executor for async continuations.

#### setAsyncContinuationExecutor

    public ClientConfiguration setAsyncContinuationExecutor(Executor asyncContinuationExecutor)

Sets the async continuation executor.

When `null` (default), `ForkJoinPool.commonPool()` is used.

When async client operation completes, corresponding `IgniteFuture` listeners will be invoked using this executor. Thin client operation results are handled by a dedicated thread. This thread should be free from any extra work, and should not be not be used to execute future listeners directly.

Parameters:
  `asyncContinuationExecutor` - Executor for async continuations.
Returns:
  `this` for chaining.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021