GigaSpaces XAP 9.7.2 API

org.openspaces.admin.space
Class SpaceDeployment

java.lang.Object
  extended by org.openspaces.admin.space.SpaceDeployment
All Implemented Interfaces:
ProcessingUnitDeploymentTopology

public class SpaceDeployment
extends Object
implements ProcessingUnitDeploymentTopology

A deployment of a pure Space processing unit (comes built in under [GS ROOT]/deploy/templates/datagrid).

Author:
kimchy
See Also:
GridServiceManager.deploy(SpaceDeployment), GridServiceManagers.deploy(SpaceDeployment)

Constructor Summary
SpaceDeployment(String spaceName)
          Constructs a new Space deployment with the space name that will be created (it will also be the processing unit name).
 
Method Summary
 SpaceDeployment addDependencies(org.openspaces.admin.internal.pu.dependency.ProcessingUnitDetailedDependencies<? extends ProcessingUnitDependency> deploymentDependencies)
          Postpones deployment of processing unit instances until the specified dependencies are met.
 SpaceDeployment addDependency(String requiredProcessingUnitName)
          Postpones deployment of processing unit instances deployment until the specified processing unit deployment is complete.
 SpaceDeployment addZone(String zone)
          Adds a zone where the processing unit is allowed to be deployed on.
 SpaceDeployment clusterSchema(String clusterSchema)
          Sets the cluster schema of the Space.
 ProcessingUnitConfigHolder create()
          Converts this fluent API object to a lazy implementation of ProcessingUnitConfig
 String getSpaceName()
          Deprecated. 
 SpaceDeployment maxInstancesPerMachine(int maxInstancesPerMachine)
          Sets the maximum number of instances per machine.
 SpaceDeployment maxInstancesPerVM(int maxInstancesPerVM)
          Sets the maximum number of instances per virtual machine.
 SpaceDeployment maxInstancesPerZone(String zone, int maxInstancesPerZone)
          Sets the maximum number of instances per zone.
 SpaceDeployment numberOfBackups(int numberOfBackups)
          Sets the number of backups per instance of the space config.set
 SpaceDeployment numberOfInstances(int numberOfInstances)
          Sets the number of instances of the space config.set
 SpaceDeployment partitioned(int numberOfPartitions, int numberOfBackups)
          A convenient method allowing to easily configure the space deployment to deploy a Partitioned topology with numberOfParitions instances each with numberOfBackups.
 SpaceDeployment primaryZone(String zone)
          Set the primary zone where the processing unit is allowed to be deployed on.
 SpaceDeployment replicated(boolean async, int numberOfInstances)
          A convenient method allowing to easily configure the space deployment to deploy a replicated (either sync or async) topology with numberOfInstances instances.
 SpaceDeployment secured(boolean secured)
          Will deploy a secured space.
 SpaceDeployment setContextProperty(String key, String value)
          Sets a context deploy time property overriding any ${...}
 SpaceDeployment slaLocation(File slaLocation)
          Sets an external SLA definition location to be loaded.
 SpaceDeployment slaLocation(String slaLocation)
          Sets an external SLA definition location to be loaded.
 SpaceDeployment userDetails(String userName, String password)
          Sets the user name and password (effectively making the processing unit secured) for the processing unit config.set
 SpaceDeployment userDetails(UserDetails userDetails)
          Advance: Sets the security user details for authentication and autherization of the processing unit.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpaceDeployment

public SpaceDeployment(String spaceName)
Constructs a new Space deployment with the space name that will be created (it will also be the processing unit name).

Method Detail

getSpaceName

@Deprecated
public String getSpaceName()
Deprecated. 

Returns the Space name of the config.set Use SpaceConfig.getName() instead


partitioned

public SpaceDeployment partitioned(int numberOfPartitions,
                                   int numberOfBackups)
A convenient method allowing to easily configure the space deployment to deploy a Partitioned topology with numberOfParitions instances each with numberOfBackups.

Exactly the same like calling clusterSchema("partitioned-sync2backup"), followed by numberOfInstances(numberOfParitions) and numberOfBackups(numberOfBackups).

Parameters:
numberOfPartitions - The number of partitions
numberOfBackups - The number of backups
Returns:
This space deployment

replicated

public SpaceDeployment replicated(boolean async,
                                  int numberOfInstances)
A convenient method allowing to easily configure the space deployment to deploy a replicated (either sync or async) topology with numberOfInstances instances.

Exactly the same like calling clusterSchema("sync_replicated") or clusterSchema("async_replicated"), followed by numberOfInstances(numberOfInstances) and numberOfBackups(0).

Parameters:
numberOfInstances - The number of instances to form the replicated space
Returns:
This space deployment

clusterSchema

public SpaceDeployment clusterSchema(String clusterSchema)
Sets the cluster schema of the Space.

See Also:
partitioned(int, int)

numberOfInstances

public SpaceDeployment numberOfInstances(int numberOfInstances)
Sets the number of instances of the space config.set


numberOfBackups

public SpaceDeployment numberOfBackups(int numberOfBackups)
Sets the number of backups per instance of the space config.set


maxInstancesPerVM

public SpaceDeployment maxInstancesPerVM(int maxInstancesPerVM)
Sets the maximum number of instances per virtual machine.

On partitioned topology with backups topology, controls that a primary and a backup won't run on the same virtual machine if set to 1.

On a non partitioned with backups topology, controls the maximum number of instances running on the same virtual machine.


maxInstancesPerMachine

public SpaceDeployment maxInstancesPerMachine(int maxInstancesPerMachine)
Sets the maximum number of instances per machine.

On partitioned topology with backups topology, controls that a primary and a backup won't run on the same machine if set to 1.

On a non partitioned with backups topology, controls the maximum number of instances running on the same machine.


maxInstancesPerZone

public SpaceDeployment maxInstancesPerZone(String zone,
                                           int maxInstancesPerZone)
Sets the maximum number of instances per zone.

On partitioned topology with backups topology, controls that a primary and a backup won't run on the same zone if set to 1. Note, for each zone this will have to be set.

On a non partitioned with backups topology, controls the maximum number of instances running on the same zone.


addZone

public SpaceDeployment addZone(String zone)
Adds a zone where the processing unit is allowed to be deployed on.


primaryZone

public SpaceDeployment primaryZone(String zone)
Set the primary zone where the processing unit is allowed to be deployed on.


setContextProperty

public SpaceDeployment setContextProperty(String key,
                                          String value)
Sets a context deploy time property overriding any ${...} defined within a processing unit configuration.


secured

public SpaceDeployment secured(boolean secured)
Will deploy a secured space. Note, by setting user details the space will be secured automatically.

Specified by:
secured in interface ProcessingUnitDeploymentTopology

userDetails

public SpaceDeployment userDetails(UserDetails userDetails)
Advance: Sets the security user details for authentication and autherization of the processing unit.

Specified by:
userDetails in interface ProcessingUnitDeploymentTopology

userDetails

public SpaceDeployment userDetails(String userName,
                                   String password)
Sets the user name and password (effectively making the processing unit secured) for the processing unit config.set

Specified by:
userDetails in interface ProcessingUnitDeploymentTopology

slaLocation

public SpaceDeployment slaLocation(String slaLocation)
Sets an external SLA definition location to be loaded.


slaLocation

public SpaceDeployment slaLocation(File slaLocation)
Sets an external SLA definition location to be loaded.


addDependencies

public SpaceDeployment addDependencies(org.openspaces.admin.internal.pu.dependency.ProcessingUnitDetailedDependencies<? extends ProcessingUnitDependency> deploymentDependencies)
Postpones deployment of processing unit instances until the specified dependencies are met. The following example postpones the deployment of this processing unit until B has completed the deployment and C has at least one instance deployed. config.setaddDependencies(new ProcessingUnitDeploymentDependenciesConfigurer().dependsOnDeployment("B").dependsOnMinimumNumberOfDeployedInstances("C",1).create())

Specified by:
addDependencies in interface ProcessingUnitDeploymentTopology
Since:
8.0.6
See Also:
ProcessingUnitDeploymentDependenciesConfigurer

addDependency

public SpaceDeployment addDependency(String requiredProcessingUnitName)
Postpones deployment of processing unit instances deployment until the specified processing unit deployment is complete. Same as: config.setaddDependencies(new ProcessingUnitDeploymentDependenciesConfigurer().dependsOnDeployment(requiredProcessingUnitName).create())

Specified by:
addDependency in interface ProcessingUnitDeploymentTopology
Since:
8.0.6

create

public ProcessingUnitConfigHolder create()
Description copied from interface: ProcessingUnitDeploymentTopology
Converts this fluent API object to a lazy implementation of ProcessingUnitConfig

Specified by:
create in interface ProcessingUnitDeploymentTopology

GigaSpaces XAP 9.7.2 API

Copyright © GigaSpaces.