GigaSpaces XAP 10.0.1 API

org.openspaces.core.cluster
Class ClusterInfo

java.lang.Object
  extended by org.openspaces.core.cluster.ClusterInfo
All Implemented Interfaces:
Serializable, Cloneable

public class ClusterInfo
extends Object
implements Cloneable, Serializable

Holds cluster related information. Beans within the Spring context (or processing unit context) can use this bean (by implementing ClusterInfoAware) in order to be informed of their specific cluster instance deployment.

Note, the cluster information is obtained externally from the application context which means that this feature need to be supported by specific containers (and is not supported by plain Spring application context). This means that beans that implement ClusterInfoAware should take into account the fact that the cluster info provided might be null.

Naturally, this information can be used by plain Spring application context by constructing this class using Spring and providing it as a parameter to ClusterInfoBeanPostProcessor which is also configured within Spring application context. Note, if the same application context will later be deployed into a container that provides cluster information, extra caution need to be taken to resolve clashes. The best solution would be to define the cluster info within a different Spring xml context, and excluding it when deploying the full context to a cluster info aware container.

The absence (null value) of a certain cluster information property means that it was not set.

Author:
kimchy
See Also:
Serialized Form

Constructor Summary
ClusterInfo()
          Constructs a new cluster info with null values on all the fields
ClusterInfo(String schema, Integer instanceId, Integer backupId, Integer numberOfInstances, Integer numberOfBackups)
          Constructs a new Cluster info
 
Method Summary
 ClusterInfo copy()
           
 Integer getBackupId()
          Returns the backup id of the specific cluster member.
 Integer getInstanceId()
          Returns the instance id of the specific cluster member.
 String getName()
          Returns the logical name of the cluster.
 Integer getNumberOfBackups()
          Returns the number of backups that each primary instance will have in a cluster.
 Integer getNumberOfInstances()
          Returns the number of primary instances that are running within the cluster.
 int getRunningNumber()
          Returns a "running" number represented by the cluster info.
 int getRunningNumberOffset1()
          Returns a "running" number: getRunningNumber() + 1.
 String getSchema()
          Returns the schema the cluster operates under.
 String getSuffix()
          Returns a String suffix that can be used to discriminate instances.
 String getUniqueName()
          Returns a unique name of the processing unit.
 void setBackupId(Integer backupId)
          Sets the backup id of the specific cluster member.
 void setInstanceId(Integer instanceId)
          Sets the instance id of the specific cluster member.
 void setName(String name)
           
 void setNumberOfBackups(Integer numberOfBackups)
          Sets the number of backups that each primary instance will have in a cluster.
 void setNumberOfInstances(Integer numberOfInstances)
          Sets the number of primary instances that are running within the cluster.
 void setSchema(String schema)
          Sets the schema the cluster operates under.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClusterInfo

public ClusterInfo()
Constructs a new cluster info with null values on all the fields


ClusterInfo

public ClusterInfo(String schema,
                   Integer instanceId,
                   Integer backupId,
                   Integer numberOfInstances,
                   Integer numberOfBackups)
Constructs a new Cluster info

Parameters:
schema - The cluster schema
instanceId - The instance id
backupId - The backupId (can be null)
numberOfInstances - Number of instances
numberOfBackups - Number Of backups (can be null)
Method Detail

getSchema

public String getSchema()
Returns the schema the cluster operates under. Usually maps to a Space cluster schema. Can have null value which means that it was not set.


setSchema

public void setSchema(String schema)
Sets the schema the cluster operates under. Usually maps to a Space cluster schema. Can have null value which means that it was not set.


getInstanceId

public Integer getInstanceId()
Returns the instance id of the specific cluster member. Can have null value which means that it was not set and should not be taken into account.


setInstanceId

public void setInstanceId(Integer instanceId)
Sets the instance id of the specific cluster member. Can have null value which means that it was not set and should not be taken into account.

Throws:
IllegalArgumentException - if value not greater than zero.

getBackupId

public Integer getBackupId()
Returns the backup id of the specific cluster member. Can have null value which means that it was not set and should not be taken into account.


setBackupId

public void setBackupId(Integer backupId)
Sets the backup id of the specific cluster member. Can have null value which means that it was not set and should not be taken into account.

Throws:
IllegalArgumentException - if value not greater than zero.

getNumberOfInstances

public Integer getNumberOfInstances()
Returns the number of primary instances that are running within the cluster. Note, this are the number of primary instances. Each instance might also have one or more backups that are set by numberOfBackups. Can have null value which means that it was not set and should not be taken into account.


setNumberOfInstances

public void setNumberOfInstances(Integer numberOfInstances)
Sets the number of primary instances that are running within the cluster. Note, this are the number of primary instances. Each instance might also have one or more backups that are set by numberOfBackups. Can have null value which means that it was not set and should not be taken into account.


getNumberOfBackups

public Integer getNumberOfBackups()
Returns the number of backups that each primary instance will have in a cluster. Can have null value which means that it was not set and should not be taken into account.


setNumberOfBackups

public void setNumberOfBackups(Integer numberOfBackups)
Sets the number of backups that each primary instance will have in a cluster. Can have null value which means that it was not set and should not be taken into account.


getName

public String getName()
Returns the logical name of the cluster.


setName

public void setName(String name)

getRunningNumber

public int getRunningNumber()
Returns a "running" number represented by the cluster info. Some examples: 1. NumberOfInstances=2, numberOfBackups=0, instanceId=1: 0. 2. NumberOfInstances=2, numberOfBackups=0, instanceId=2: 1. 3. NumberOfInstances=2, numberOfBackups=1, instanceId=1, backupId=0: 0. 4. NumberOfInstances=2, numberOfBackups=1, instanceId=1, backupId=1: 1. 5. NumberOfInstances=2, numberOfBackups=1, instanceId=2, backupId=0: 2. 6. NumberOfInstances=2, numberOfBackups=1, instanceId=2, backupId=1: 3.


getRunningNumberOffset1

public int getRunningNumberOffset1()
Returns a "running" number: getRunningNumber() + 1.


getSuffix

public String getSuffix()
Returns a String suffix that can be used to discriminate instances. Uses [instanceId]_[backupId] if there is a backupId. If there is none, uses [instanceId].


getUniqueName

public String getUniqueName()
Returns a unique name of the processing unit. Returns [name]_[suffix]


copy

public ClusterInfo copy()

toString

public String toString()
Overrides:
toString in class Object

GigaSpaces XAP 10.0.1 API

Copyright © GigaSpaces.