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
    Modifier and Type | Method and Description
    --- | ---
    `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.

2021 Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021