Class ClientConfiguration

    • Constructor Detail

      • ClientConfiguration

        public ClientConfiguration()
    • Method Detail

      • getAddresses

        public String[] getAddresses()
        Returns:
        Host addresses.
      • getAddressesFinder

        public ClientAddressFinder getAddressesFinder()
        Returns:
        Finder that 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.
        Returns:
        this for chaining.
      • getTimeout

        public int getTimeout()
        Returns:
        Send/receive timeout in milliseconds.
      • setTimeout

        public ClientConfiguration setTimeout​(int timeout)
        Parameters:
        timeout - Send/receive timeout in milliseconds.
        Returns:
        this for chaining.
      • getSendBufferSize

        public int getSendBufferSize()
        Returns:
        Send buffer size.
      • setSendBufferSize

        public ClientConfiguration setSendBufferSize​(int sndBufSize)
        Parameters:
        sndBufSize - Send buffer size.
        Returns:
        this for chaining.
      • getReceiveBufferSize

        public int getReceiveBufferSize()
        Returns:
        Send buffer size.
      • setReceiveBufferSize

        public ClientConfiguration setReceiveBufferSize​(int rcvBufSize)
        Parameters:
        rcvBufSize - Send buffer size.
        Returns:
        this for chaining.
      • getBinaryConfiguration

        public BinaryConfiguration getBinaryConfiguration()
        Returns:
        Configuration for Ignite Binary objects.
      • setBinaryConfiguration

        public ClientConfiguration setBinaryConfiguration​(BinaryConfiguration binaryCfg)
        Parameters:
        binaryCfg - Configuration for Ignite Binary objects.
        Returns:
        this for chaining.
      • getSslMode

        public SslMode getSslMode()
        Returns:
        SSL mode.
      • setSslMode

        public ClientConfiguration setSslMode​(SslMode sslMode)
        Parameters:
        sslMode - SSL mode.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • getSslKeyAlgorithm

        public String getSslKeyAlgorithm()
        Returns:
        Ssl key algorithm.
      • setSslKeyAlgorithm

        public ClientConfiguration setSslKeyAlgorithm​(String newVal)
        Parameters:
        newVal - Ssl key algorithm.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • getSslProtocol

        public SslProtocol getSslProtocol()
        Returns:
        Ssl protocol.
      • getUserName

        public String getUserName()
        Returns:
        User name.
      • setUserName

        public ClientConfiguration setUserName​(String newVal)
        Parameters:
        newVal - User name.
        Returns:
        this for chaining.
      • getUserPassword

        public String getUserPassword()
        Returns:
        User password.
      • setUserPassword

        public ClientConfiguration setUserPassword​(String newVal)
        Parameters:
        newVal - User password.
        Returns:
        this for chaining.
      • 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.
        Returns:
        this for chaining.
      • getTransactionConfiguration

        public ClientTransactionConfiguration getTransactionConfiguration()
        Gets transactions configuration.
        Returns:
        Transactions configuration.
      • isPartitionAwarenessEnabled

        public boolean isPartitionAwarenessEnabled()

        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.

        Partition awareness functionality helps to avoid an additional network hop in the following scenarios:

        Returns:
        A value indicating whether partition awareness should be enabled.
      • 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.

        Partition awareness functionality helps to avoid an additional network hop in the following scenarios:

        Parameters:
        partitionAwarenessEnabled - Value indicating whether partition awareness should be enabled.
        Returns:
        this for chaining.
      • isClusterDiscoveryEnabled

        public boolean isClusterDiscoveryEnabled()
        Gets a value indicating whether cluster discovery should be enabled.

        Default is true: client get addresses of server nodes from the cluster and connects to all of them.

        When false, client only connects to the addresses provided in setAddresses(String...) and setAddressesFinder(ClientAddressFinder).

        Returns:
        A value indicating whether cluster discovery should be enabled.
      • setClusterDiscoveryEnabled

        public ClientConfiguration setClusterDiscoveryEnabled​(boolean clusterDiscoveryEnabled)
        Sets a value indicating whether cluster discovery should be enabled.

        Default is true: client get addresses of server nodes from the cluster and connects to all of them.

        When false, client only connects to the addresses provided in setAddresses(String...) and setAddressesFinder(ClientAddressFinder).

        Parameters:
        clusterDiscoveryEnabled - Value indicating whether cluster discovery should be enabled.
        Returns:
        this for chaining.
      • getReconnectThrottlingPeriod

        public long getReconnectThrottlingPeriod()
        Returns:
        reconnect throttling period.
      • setReconnectThrottlingPeriod

        public ClientConfiguration setReconnectThrottlingPeriod​(long reconnectThrottlingPeriod)
        Sets reconnect throttling period.
        Parameters:
        reconnectThrottlingPeriod - Reconnect throttling period.
        Returns:
        this for chaining.
      • getReconnectThrottlingRetries

        public int getReconnectThrottlingRetries()
        Returns:
        Reconnect throttling retries.
      • setReconnectThrottlingRetries

        public ClientConfiguration setReconnectThrottlingRetries​(int reconnectThrottlingRetries)
        Sets reconnect throttling retries.
        Parameters:
        reconnectThrottlingRetries - Reconnect throttling retries.
        Returns:
        this for chaining.
      • getRetryLimit

        public int getRetryLimit()
        Returns:
        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.
        Parameters:
        retryLimit - Retry limit.
        Returns:
        this for chaining.
      • getRetryPolicy

        public ClientRetryPolicy getRetryPolicy()
        Gets the retry policy.
        Returns:
        Retry policy.
      • setRetryPolicy

        public ClientConfiguration setRetryPolicy​(ClientRetryPolicy retryPolicy)
        Sets the retry policy. When a request fails due to a connection error, and multiple server connections are available, Ignite will retry the request if the specified policy allows it.

        When retryLimit is set, retry count will be limited even if the specified policy returns true.

        Default is ClientRetryAllPolicy.

        Parameters:
        retryPolicy - Retry policy.
        Returns:
        this for chaining.
      • 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.
      • isHeartbeatEnabled

        public boolean isHeartbeatEnabled()
        Gets a value indicating whether heartbeats are enabled.

        When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state.

        See also heartbeatInterval.

        Returns:
        Whether heartbeats are enabled.
      • setHeartbeatEnabled

        public ClientConfiguration setHeartbeatEnabled​(boolean heartbeatEnabled)
        Sets a value indicating whether heartbeats are enabled.

        When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state.

        See also heartbeatInterval.

        Parameters:
        heartbeatEnabled - Whether to enable heartbeats.
        Returns:
        this for chaining.
      • getHeartbeatInterval

        public long getHeartbeatInterval()
        Gets the heartbeat message interval, in milliseconds. Default is 30_000.

        When server-side ClientConnectorConfiguration.getIdleTimeout() is not zero, effective heartbeat interval is set to min(heartbeatInterval, idleTimeout / 3).

        When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state. *

        Returns:
        Heartbeat interval.
      • setHeartbeatInterval

        public ClientConfiguration setHeartbeatInterval​(long heartbeatInterval)
        Sets the heartbeat message interval, in milliseconds. Default is 30_000.

        When server-side ClientConnectorConfiguration.getIdleTimeout() is not zero, effective heartbeat interval is set to min(heartbeatInterval, idleTimeout / 3).

        When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state. *

        Parameters:
        heartbeatInterval - Heartbeat interval, in milliseconds.
        Returns:
        this for chaining.
      • isAutoBinaryConfigurationEnabled

        public boolean isAutoBinaryConfigurationEnabled()
        Gets a value indicating whether automatic binary configuration retrieval should be enabled.

        When enabled, compact footer (BinaryConfiguration.isCompactFooter()) and name mapper (BinaryConfiguration.getNameMapper()) settings will be retrieved from the server to match the cluster configuration.

        Default is true.

        Returns:
        Whether automatic binary configuration is enabled.
      • setAutoBinaryConfigurationEnabled

        public ClientConfiguration setAutoBinaryConfigurationEnabled​(boolean autoBinaryConfigurationEnabled)
        Sets a value indicating whether automatic binary configuration retrieval should be enabled.

        When enabled, compact footer (BinaryConfiguration.isCompactFooter()) and name mapper (BinaryConfiguration.getNameMapper()) settings will be retrieved from the server to match the cluster configuration.

        Default is true.

        Parameters:
        autoBinaryConfigurationEnabled - Whether automatic binary configuration is enabled.
        Returns:
        this for chaining.
      • setPartitionAwarenessMapperFactory

        public ClientConfiguration setPartitionAwarenessMapperFactory​(ClientPartitionAwarenessMapperFactory factory)
        Parameters:
        factory - Factory that accepts as parameters a cache name and the number of cache partitions received from a server node and produces key to partition mapping functions.
        Returns:
        this for chaining.
      • getPartitionAwarenessMapperFactory

        public ClientPartitionAwarenessMapperFactory getPartitionAwarenessMapperFactory()
        Returns:
        Factory that accepts as parameters a cache name and the number of cache partitions received from a server node and produces key to partition mapping functions.
      • getLogger

        public IgniteLogger getLogger()
        Gets the logger.
        Returns:
        Logger.
      • setEventListeners

        public ClientConfiguration setEventListeners​(EventListener... listeners)
        Parameters:
        listeners - Clent event listeners.
        Returns:
        this for chaining.
      • getEventListeners

        public EventListener[] getEventListeners()
        Returns:
        Client event listeners.