GigaSpaces XAP 7.0 API

org.openspaces.admin.pu
Class ProcessingUnitDeployment

java.lang.Object
  extended by org.openspaces.admin.pu.ProcessingUnitDeployment

public class ProcessingUnitDeployment
extends Object

A deployment of processing unit.

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

Constructor Summary
ProcessingUnitDeployment(File processingUnit)
          Constructs a processing unit deployment based on the specified processing unit file path (points either to a processing unit jar/zip file or a directory).
ProcessingUnitDeployment(String processingUnit)
          Constructs a processing unit deployment based on the specified processing unit name (should exists under the [GS ROOT]/deploy directory.
 
Method Summary
 ProcessingUnitDeployment addZone(String zone)
          Adds a zone where the processing unit is allowed to be deployed on.
 ProcessingUnitDeployment clusterSchema(String clusterSchema)
          Controls the cluster schema of the deployment.
 String[] getDeploymentOptions()
          Transforms this deployment into a set of deployment options.
 String getProcessingUnit()
          Returns the processing unit that will be deployed.
 UserDetails getUserDetails()
           
 Boolean isSecured()
           
 ProcessingUnitDeployment maxInstancesPerMachine(int maxInstancesPerMachine)
          Sets the maximum number of instances per machine.
 ProcessingUnitDeployment maxInstancesPerVM(int maxInstancesPerVM)
          Sets the maximum number of instances per virtual machine.
 ProcessingUnitDeployment maxInstancesPerZone(String zone, int maxInstancesPerZone)
          Sets the maximum number of instances per zone.
 ProcessingUnitDeployment name(String name)
          Sets the processing unit name that will be deployed.
 ProcessingUnitDeployment numberOfBackups(int numberOfBackups)
          Sets the number of backups that will be deployed as part of this processing unit.
 ProcessingUnitDeployment numberOfInstances(int numberOfInstances)
          Sets the number of instances that will be deployed as part of this processing unit instance.
 ProcessingUnitDeployment partitioned(int numberOfParitions, int numberOfBackups)
          A convenient method allowing to easily configure the space deployment to deploy a partitioned topology with numberOfParitions instances each with numberOfBackups.
 ProcessingUnitDeployment 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.
 ProcessingUnitDeployment secured(boolean secured)
          Will deploy a secured processing unit.
 ProcessingUnitDeployment setContextProperty(String key, String value)
          Sets a context deploy time property overriding any ${...}
 ProcessingUnitDeployment userDetails(String userName, String password)
          Sets the username and password (effectively making the processing unit secured) for the processing unit deployment.
 ProcessingUnitDeployment 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

ProcessingUnitDeployment

public ProcessingUnitDeployment(String processingUnit)
Constructs a processing unit deployment based on the specified processing unit name (should exists under the [GS ROOT]/deploy directory.


ProcessingUnitDeployment

public ProcessingUnitDeployment(File processingUnit)
Constructs a processing unit deployment based on the specified processing unit file path (points either to a processing unit jar/zip file or a directory).

Method Detail

getProcessingUnit

public String getProcessingUnit()
Returns the processing unit that will be deployed.


name

public ProcessingUnitDeployment name(String name)
Sets the processing unit name that will be deployed. By default it will be based on the parameter passed in the constructor.


partitioned

public ProcessingUnitDeployment partitioned(int numberOfParitions,
                                            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:
numberOfParitions - The number of partitions
numberOfBackups - The number of backups
Returns:
This space deployment

replicated

public ProcessingUnitDeployment 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 ProcessingUnitDeployment clusterSchema(String clusterSchema)
Controls the cluster schema of the deployment. Only make sense to set it when there is an embedded space defined within the processing unit.


numberOfInstances

public ProcessingUnitDeployment numberOfInstances(int numberOfInstances)
Sets the number of instances that will be deployed as part of this processing unit instance.


numberOfBackups

public ProcessingUnitDeployment numberOfBackups(int numberOfBackups)
Sets the number of backups that will be deployed as part of this processing unit. Only applicable when the processing unit has an embedded space.


maxInstancesPerVM

public ProcessingUnitDeployment 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 ProcessingUnitDeployment 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 ProcessingUnitDeployment 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 ProcessingUnitDeployment addZone(String zone)
Adds a zone where the processing unit is allowed to be deployed on.


setContextProperty

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


secured

public ProcessingUnitDeployment secured(boolean secured)
Will deploy a secured processing unit. Note, by setting user details the processing unit will be secured automatically.


userDetails

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


userDetails

public ProcessingUnitDeployment userDetails(String userName,
                                            String password)
Sets the username and password (effectively making the processing unit secured) for the processing unit deployment.


isSecured

public Boolean isSecured()

getUserDetails

public UserDetails getUserDetails()

getDeploymentOptions

public String[] getDeploymentOptions()
Transforms this deployment into a set of deployment options.


GigaSpaces XAP 7.0 API

Copyright © GigaSpaces.