public class ClientFailoverConfig extends Object
The client configurations must be exactly the same except the following configuration options:
clusterName
SecurityConfig
NetworkConfig.Addresses
NetworkConfig.SocketInterceptorConfig
NetworkConfig.SSLConfig
NetworkConfig.AwsConfig
NetworkConfig.GcpConfig
NetworkConfig.AzureConfig
NetworkConfig.KubernetesConfig
NetworkConfig.EurekaConfig
NetworkConfig.CloudConfig
NetworkConfig.DiscoveryConfig
Constructor and Description |
---|
ClientFailoverConfig() |
Modifier and Type | Method and Description |
---|---|
ClientFailoverConfig |
addClientConfig(ClientConfig clientConfig)
Adds the client config to the end of the alternative client configurations list.
|
List<ClientConfig> |
getClientConfigs()
Gets the configured list of alternative client configurations.
|
int |
getTryCount()
Sets the count that the client iterates over the given list of alternative clusters.
|
static ClientFailoverConfig |
load()
Populates Hazelcast
ClientFailoverConfig object from an external configuration file. |
ClientFailoverConfig |
setClientConfigs(List<ClientConfig> clientConfigs)
Sets the configured list of alternative client configurations.
|
ClientFailoverConfig |
setTryCount(int tryCount)
Sets the count that the client iterates over the given list of alternative clusters.
|
String |
toString() |
public static ClientFailoverConfig load()
ClientFailoverConfig
object from an external configuration file.
It tries to load Hazelcast Failover Client configuration from a list of well-known locations. When no location contains Hazelcast Failover Client configuration then it returns default.
Note that the same mechanism is used when calling
HazelcastClient.newHazelcastFailoverClient()
.
public ClientFailoverConfig addClientConfig(ClientConfig clientConfig)
clientConfig
- the ClientConfig to addpublic ClientFailoverConfig setTryCount(int tryCount)
When the client can not connect a cluster, it will try to connect tryCount times going over the alternative client configs in a round-robin fashion. This is triggered at the start and also when the client disconnects from the cluster and can not connect back to it by exhausting attempts described in ConnectionRetryConfig. In that case, the client will continue from where it is left off in ClientConfig lists, and try the next one again in round-robin tryCount X number of alternative cluster times.
Example: Assume that 3 alternative clusters are given in the ClientConfig list. Let's call them cluster A , B and C . When the tryCount is set as 2, the maximum number of subsequent connection attempts done by the client is 3 x 2 = 6. They will be tried in the following order as long as the client can not connect to any of them: A -> B -> C -> A -> B -> C -> Client Shutdown. Trial 1 -> Trial 2 -> Client Shutdown.
Assume that client was connected to cluster B, and then it is disconnected from it. In that case, the trial oder will be as follows: C -> A -> B -> C -> A -> B -> Client Shutdown. Trial 1 -> Trial 2 -> Client Shutdown.
tryCount
- the count of attemptspublic List<ClientConfig> getClientConfigs()
public ClientFailoverConfig setClientConfigs(List<ClientConfig> clientConfigs)
Note: this method replaces previously configured alternative client configurations with the given list.
clientConfigs
- the list of ClientConfigs to be usedpublic int getTryCount()
Integer.MAX_VALUE
.Copyright © 2023 Hazelcast, Inc.. All rights reserved.