public class CPSubsystemConfig extends Object
 You can check the following code snippet to see how CP Subsystem
 can be initialized by configuring only the
 setCPMemberCount(int) value. In this code,
 we set 3 to setCPMemberCount(int), and we don't
 set any value to setGroupSize(int). Therefore,
 there will be 3 CP members in CP Subsystem and each CP groups will have
 3 CP members as well.
 
     int cpMemberCount = 3;
     int apMemberCount = 2;
     int memberCount = cpMemberCount + apMemberCount;
     Config config = new Config();
     config.getCPSubsystemConfig().setCPMemberCount(cpMemberCount);
     HazelcastInstance[] instances = new HazelcastInstance[memberCount];
     for (int i = 0; i < memberCount; i++) {
         instances[i] = Hazelcast.newHazelcastInstance(config);
     }
     // update an atomic long via a CP member
     IAtomicLong cpLong = instances[0].getCPSubsystem().getAtomicLong("myLong");
     cpLong.set(10);
     // access to its value via an AP member
     cpLong = instances[cpMemberCount].getCPSubsystem().getAtomicLong("myLong");
     System.out.println(cpLong.get());
 
 
 In the following code snippet, we configure
 setCPMemberCount(int) to 5 and
 setGroupSize(int) to 3, therefore there will be 5
 CP members and CP groups will be initialized by selecting 3 random CP members
 among them.
 
     int cpMemberCount = 5;
     int apMemberCount = 2;
     int groupSize = 3;
     int memberCount = cpMemberCount + apMemberCount;
     Config config = new Config();
     config.getCPSubsystemConfig()
           .setCPMemberCount(cpMemberCount)
           .setGroupSize(groupSize);
     HazelcastInstance[] instances = new HazelcastInstance[memberCount];
     for (int i = 0; i < memberCount; i++) {
         instances[i] = Hazelcast.newHazelcastInstance(config);
     }
     // update an atomic long via a CP member
     IAtomicLong cpLong = instances[0].getCPSubsystem().getAtomicLong("myLong");
     cpLong.set(10);
     // access to its value via an AP member
     cpLong = instances[cpMemberCount].getCPSubsystem().getAtomicLong("myLong");
     System.out.println(cpLong.get());
 CPSubsystem, 
CPMember, 
CPSession| Modifier and Type | Field and Description | 
|---|---|
| static String | CP_BASE_DIR_DEFAULTThe default directory name for storing CP data. | 
| static int | DEFAULT_DATA_LOAD_TIMEOUT_SECONDSThe default data load timeout duration for restoring CP data from disk. | 
| static int | DEFAULT_HEARTBEAT_INTERVAL_SECONDSThe default duration for the periodically-committed CP session
 heartbeats. | 
| static int | DEFAULT_MISSING_CP_MEMBER_AUTO_REMOVAL_SECONDSThe default duration to wait before automatically removing
 a missing CP member from CP Subsystem. | 
| static int | DEFAULT_SESSION_TTL_SECONDSThe default value for a CP session to be kept alive after the last
 heartbeat it has received. | 
| static int | MAX_GROUP_SIZEThe maximum number of CP members that can form a CP group. | 
| static int | MIN_GROUP_SIZEThe minimum number of CP members that can form a CP group. | 
| Constructor and Description | 
|---|
| CPSubsystemConfig() | 
| CPSubsystemConfig(CPSubsystemConfig config) | 
| Modifier and Type | Method and Description | 
|---|---|
| CPSubsystemConfig | addLockConfig(FencedLockConfig lockConfig)Adds the  FencedLockconfiguration. | 
| CPSubsystemConfig | addSemaphoreConfig(SemaphoreConfig semaphoreConfig)Adds the CP  ISemaphoreconfiguration. | 
| boolean | equals(Object o) | 
| FencedLockConfig | findLockConfig(String name)Returns the  FencedLockconfiguration for the given name. | 
| SemaphoreConfig | findSemaphoreConfig(String name)Returns the CP  ISemaphoreconfiguration for the given name. | 
| File | getBaseDir()Returns the base directory for persisting CP data. | 
| int | getCPMemberCount()Returns the number of CP members that will initialize CP Subsystem. | 
| int | getDataLoadTimeoutSeconds()Returns the timeout duration for CP members to restore their data from
 stable storage. | 
| int | getGroupSize()Returns the number of CP members to form CP groups. | 
| Map<String,FencedLockConfig> | getLockConfigs()Returns the map of  FencedLockconfigurations | 
| int | getMissingCPMemberAutoRemovalSeconds()Returns the duration to wait before automatically removing a missing
 CP member from CP Subsystem | 
| RaftAlgorithmConfig | getRaftAlgorithmConfig()Returns configuration options for Hazelcast's Raft consensus algorithm
 implementation | 
| Map<String,SemaphoreConfig> | getSemaphoreConfigs()Returns the map of CP  ISemaphoreconfigurations | 
| int | getSessionHeartbeatIntervalSeconds()Returns the interval for the periodically-committed CP session
 heartbeats. | 
| int | getSessionTimeToLiveSeconds()Returns the duration for a CP session to be kept alive
 after its last session heartbeat. | 
| int | hashCode() | 
| boolean | isFailOnIndeterminateOperationState()Returns the value to determine if CP Subsystem API calls will fail when
 result of an API call becomes indeterminate. | 
| boolean | isPersistenceEnabled()Returns whether CP Subsystem Persistence enabled on this member. | 
| CPSubsystemConfig | setBaseDir(File baseDir)Sets the base directory for persisting CP data. | 
| CPSubsystemConfig | setCPMemberCount(int cpMemberCount)Sets the CP member count to initialize CP Subsystem. | 
| CPSubsystemConfig | setDataLoadTimeoutSeconds(int dataLoadTimeoutSeconds)Sets the timeout duration for CP members to restore their data from
 stable storage. | 
| CPSubsystemConfig | setFailOnIndeterminateOperationState(boolean failOnIndeterminateOperationState)Sets the value to determine if CP Subsystem calls will fail when
 result of an API call becomes indeterminate. | 
| CPSubsystemConfig | setGroupSize(int groupSize)Sets the number of CP members to form CP groups. | 
| CPSubsystemConfig | setLockConfigs(Map<String,FencedLockConfig> lockConfigs)Sets the map of  FencedLockconfigurations, mapped by config
 name. | 
| CPSubsystemConfig | setMissingCPMemberAutoRemovalSeconds(int missingCPMemberAutoRemovalSeconds)Sets the duration to wait before automatically removing a missing
 CP member from CP Subsystem. | 
| CPSubsystemConfig | setPersistenceEnabled(boolean persistenceEnabled)Sets whether CP Subsystem Persistence is enabled on this member. | 
| CPSubsystemConfig | setRaftAlgorithmConfig(RaftAlgorithmConfig raftAlgorithmConfig)Sets configuration options for Hazelcast's Raft consensus algorithm
 implementation | 
| CPSubsystemConfig | setSemaphoreConfigs(Map<String,SemaphoreConfig> semaphoreConfigs)Sets the map of CP  ISemaphoreconfigurations,
 mapped by config name. | 
| CPSubsystemConfig | setSessionHeartbeatIntervalSeconds(int sessionHeartbeatIntervalSeconds)Sets the interval for the periodically-committed CP session heartbeats. | 
| CPSubsystemConfig | setSessionTimeToLiveSeconds(int sessionTimeToLiveSeconds)Sets the duration for a CP session to be kept alive
 after its last session heartbeat. | 
| String | toString() | 
public static final int DEFAULT_SESSION_TTL_SECONDS
sessionTimeToLiveSecondspublic static final int DEFAULT_HEARTBEAT_INTERVAL_SECONDS
sessionHeartbeatIntervalSecondspublic static final int MIN_GROUP_SIZE
groupSizepublic static final int MAX_GROUP_SIZE
 See groupSize
public static final int DEFAULT_MISSING_CP_MEMBER_AUTO_REMOVAL_SECONDS
missingCPMemberAutoRemovalSecondspublic static final String CP_BASE_DIR_DEFAULT
baseDirpublic static final int DEFAULT_DATA_LOAD_TIMEOUT_SECONDS
dataLoadTimeoutSecondspublic CPSubsystemConfig()
public CPSubsystemConfig(CPSubsystemConfig config)
public int getCPMemberCount()
public CPSubsystemConfig setCPMemberCount(int cpMemberCount)
MIN_GROUP_SIZE and
 groupSizepublic int getGroupSize()
cpMemberCount is 0.
 If group size is not set:
 - returns the CP member count if it is an odd number,
 - returns the CP member count - 1 if it is an even number.public CPSubsystemConfig setGroupSize(int groupSize)
MIN_GROUP_SIZE
 and MAX_GROUP_SIZE.public int getSessionTimeToLiveSeconds()
public CPSubsystemConfig setSessionTimeToLiveSeconds(int sessionTimeToLiveSeconds)
public int getSessionHeartbeatIntervalSeconds()
public CPSubsystemConfig setSessionHeartbeatIntervalSeconds(int sessionHeartbeatIntervalSeconds)
public int getMissingCPMemberAutoRemovalSeconds()
public CPSubsystemConfig setMissingCPMemberAutoRemovalSeconds(int missingCPMemberAutoRemovalSeconds)
public boolean isFailOnIndeterminateOperationState()
public CPSubsystemConfig setFailOnIndeterminateOperationState(boolean failOnIndeterminateOperationState)
public boolean isPersistenceEnabled()
public CPSubsystemConfig setPersistenceEnabled(boolean persistenceEnabled)
public File getBaseDir()
public CPSubsystemConfig setBaseDir(File baseDir)
baseDir - base directorypublic int getDataLoadTimeoutSeconds()
public CPSubsystemConfig setDataLoadTimeoutSeconds(int dataLoadTimeoutSeconds)
dataLoadTimeoutSeconds - the timeout duration for CP members to
                               restore their data from stable storagepublic RaftAlgorithmConfig getRaftAlgorithmConfig()
public CPSubsystemConfig setRaftAlgorithmConfig(RaftAlgorithmConfig raftAlgorithmConfig)
public Map<String,SemaphoreConfig> getSemaphoreConfigs()
ISemaphore configurationsISemaphore configurationspublic SemaphoreConfig findSemaphoreConfig(String name)
ISemaphore configuration for the given name.
 
 The name is matched by stripping the CPGroup name from
 the given name if present.
 Returns null if there is no config found by the given name
name - name of the CP ISemaphoreISemaphore configurationpublic CPSubsystemConfig addSemaphoreConfig(SemaphoreConfig semaphoreConfig)
ISemaphore configuration. Name of the CP
 ISemaphore could optionally contain a CPGroup name,
 like "mySemaphore@group1".semaphoreConfig - the CP ISemaphore configurationpublic CPSubsystemConfig setSemaphoreConfigs(Map<String,SemaphoreConfig> semaphoreConfigs)
ISemaphore configurations,
 mapped by config name. Names could optionally contain
 a CPGroup name, such as "mySemaphore@group1".semaphoreConfigs - the CP ISemaphore config map to setpublic Map<String,FencedLockConfig> getLockConfigs()
FencedLock configurationsFencedLock configurationspublic FencedLockConfig findLockConfig(String name)
FencedLock configuration for the given name.
 
 The name is matched by stripping the CPGroup name from
 the given name if present.
 Returns null if there is no config found by the given name
name - name of the FencedLockFencedLock configurationpublic CPSubsystemConfig addLockConfig(FencedLockConfig lockConfig)
FencedLock configuration. Name of the
 FencedLock could optionally contain a CPGroup name,
 like "myLock@group1".lockConfig - the FencedLock configurationpublic CPSubsystemConfig setLockConfigs(Map<String,FencedLockConfig> lockConfigs)
FencedLock configurations, mapped by config
 name. Names could optionally contain a CPGroup name, such as
 "myLock@group1".lockConfigs - the FencedLock config map to setCopyright © 2022 Hazelcast, Inc.. All rights reserved.