Class ClusterConfig
java.lang.Object
com.loomcache.common.config.ClusterConfig
Immutable cluster configuration. Every node and client gets one.
The clusterId maps to Hazelcast's cluster-name. It defaults to dev
for Hazelcast 5.6 compatibility. Tests or multi-tenant local runs that need
isolation should set an explicit UUID/string clusterId.
Builder pattern for clean construction.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final record -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final intstatic final intstatic final longstatic final longstatic final longstatic final intstatic final intstatic final intstatic final PartitionGroupTypestatic final booleanstatic final intstatic final intstatic final longstatic final intstatic final intstatic final int -
Method Summary
Modifier and TypeMethodDescriptionaddress()Convenience: "host:port" for this node.booleanintstatic ClusterConfig.Builderbuilder()intint@Nullable StringdataDir()longbooleanlonglonghost()longTTL for idempotency dedup cache entries in milliseconds.intStable 10-bit node identifier used by Snowflake-style ID generators.booleanTrue whenClusterConfig.Builder.idGeneratorNodeId(int)was set explicitly.intstatic intlegacyIdGeneratorNodeId(int instanceNumber) intintintlongintnodeId()intNumber of Raft groups to create when sharding is enabled.parseRaftBootstrapServers(List<String> entries) @Nullable Stringlonglongintlongbooleanintport()booleanseeds()booleanWhether multi-Raft-group sharding is enabled on this node.intlongintstatic voidvalidateIdGeneratorNodeId(int nodeId) boolean
-
Field Details
-
DEFAULT_CLUSTER_NAME
- See Also:
-
DEFAULT_PORT
public static final int DEFAULT_PORT- See Also:
-
DEFAULT_HEARTBEAT_INTERVAL_MS
public static final long DEFAULT_HEARTBEAT_INTERVAL_MS- See Also:
-
DEFAULT_HEARTBEAT_TIMEOUT_MS
public static final long DEFAULT_HEARTBEAT_TIMEOUT_MS- See Also:
-
DEFAULT_SNAPSHOT_THRESHOLD
public static final int DEFAULT_SNAPSHOT_THRESHOLD- See Also:
-
DEFAULT_MAX_PARALLEL_MIGRATIONS
public static final int DEFAULT_MAX_PARALLEL_MIGRATIONS- See Also:
-
DEFAULT_MAX_EXECUTOR_TASK_PAYLOAD_BYTES
public static final int DEFAULT_MAX_EXECUTOR_TASK_PAYLOAD_BYTES- See Also:
-
DEFAULT_MAX_CONNECTIONS
public static final int DEFAULT_MAX_CONNECTIONS- See Also:
-
DEFAULT_TCP_READ_TIMEOUT_MS
public static final int DEFAULT_TCP_READ_TIMEOUT_MS- See Also:
-
DEFAULT_TCP_IDLE_TIMEOUT_MS
public static final long DEFAULT_TCP_IDLE_TIMEOUT_MS- See Also:
-
DEFAULT_GRACEFUL_SHUTDOWN_DRAIN_MS
public static final long DEFAULT_GRACEFUL_SHUTDOWN_DRAIN_MS- See Also:
-
DEFAULT_PIPELINED_EXECUTION
public static final boolean DEFAULT_PIPELINED_EXECUTION- See Also:
-
DEFAULT_COMMAND_QUEUE_CAPACITY
public static final int DEFAULT_COMMAND_QUEUE_CAPACITY- See Also:
-
DEFAULT_COMMAND_EXECUTOR_THREADS
public static final int DEFAULT_COMMAND_EXECUTOR_THREADS- See Also:
-
MIN_ID_GENERATOR_NODE_ID
public static final int MIN_ID_GENERATOR_NODE_ID- See Also:
-
MAX_ID_GENERATOR_NODE_ID
public static final int MAX_ID_GENERATOR_NODE_ID- See Also:
-
DEFAULT_PARTITION_GROUP_TYPE
-
-
Method Details
-
clusterId
-
nodeId
-
host
-
bindAddress
-
port
public int port() -
instanceNumber
public int instanceNumber() -
idGeneratorNodeId
public int idGeneratorNodeId()Stable 10-bit node identifier used by Snowflake-style ID generators. Must be unique across live cluster members. -
idGeneratorNodeIdExplicit
public boolean idGeneratorNodeIdExplicit()True whenClusterConfig.Builder.idGeneratorNodeId(int)was set explicitly. -
seeds
-
raftBootstrapServers
-
hasStaticRaftBootstrap
public boolean hasStaticRaftBootstrap() -
staticRaftBootstrapFingerprint
-
discoveryConfig
-
heartbeatIntervalMs
public long heartbeatIntervalMs() -
heartbeatTimeoutMs
public long heartbeatTimeoutMs() -
icmpFailureDetectorConfig
-
slowOperationDetectorConfig
-
maxMemoryBytes
public long maxMemoryBytes() -
mapMaxEntries
public int mapMaxEntries() -
mapEvictionPolicy
-
auditEnabled
public boolean auditEnabled() -
auditQueueCapacity
public int auditQueueCapacity() -
tlsConfig
-
endpointTlsConfig
-
authConfig
-
dataDir
-
persistenceBackupDir
-
persistenceHotBackupIntervalSeconds
public long persistenceHotBackupIntervalSeconds() -
idempotencyTtlMs
public long idempotencyTtlMs()TTL for idempotency dedup cache entries in milliseconds. Defaults to 60,000 ms (1 minute).- Returns:
- the idempotency TTL in milliseconds
-
shardingEnabled
public boolean shardingEnabled()Whether multi-Raft-group sharding is enabled on this node.Default
false— all writes replicate through a single Raft group ("raft-0") for backward compatibility. When enabled, keys are routed to one ofnumGroups()independent Raft groups based on hash(key).- Returns:
- true when sharding mode is active
- Since:
- 2.0
-
numGroups
public int numGroups()Number of Raft groups to create when sharding is enabled.When
shardingEnabled()is false, this value is ignored and the node always runs with a single group (numGroups=1). When sharding is enabled, this must be at least 2 (enforced at build time).- Returns:
- the number of Raft groups (>= 1 when sharding disabled, >= 2 when enabled)
- Since:
- 2.0
-
partitionGroupType
-
partitionGroupConfig
-
wanAcknowledgeType
-
wanPersistReplicatedData
public boolean wanPersistReplicatedData() -
clusterDataRecoveryPolicy
-
snapshotThreshold
public int snapshotThreshold() -
persistenceValidationTimeoutSeconds
public long persistenceValidationTimeoutSeconds() -
persistenceDataLoadTimeoutSeconds
public long persistenceDataLoadTimeoutSeconds() -
persistenceRecoveryParallelism
public int persistenceRecoveryParallelism() -
maxParallelMigrations
public int maxParallelMigrations() -
maxExecutorTaskPayloadBytes
public int maxExecutorTaskPayloadBytes() -
readBackupData
public boolean readBackupData() -
maxConnections
public int maxConnections() -
tcpReadTimeoutMs
public int tcpReadTimeoutMs() -
tcpIdleTimeoutMs
public long tcpIdleTimeoutMs() -
gracefulShutdownDrainMs
public long gracefulShutdownDrainMs() -
pipelinedExecution
public boolean pipelinedExecution() -
commandQueueCapacity
public int commandQueueCapacity() -
commandExecutorThreads
public int commandExecutorThreads() -
queueConfigs
-
priorityQueueConfigs
-
dataConnectionConfigs
-
genericMapStoreConfigs
-
address
Convenience: "host:port" for this node. -
builder
-
legacyIdGeneratorNodeId
public static int legacyIdGeneratorNodeId(int instanceNumber) -
validateIdGeneratorNodeId
public static void validateIdGeneratorNodeId(int nodeId) -
parseRaftBootstrapServer
-
parseRaftBootstrapServers
public static List<ClusterConfig.RaftBootstrapServer> parseRaftBootstrapServers(List<String> entries)
-