| 
GigaSpaces XAP 9.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ElasticMachineProvisioning
An Elastic Service Manager plug-in that enables starting, stopping and discovering of virtual machines.
 
 All started machines must have Grid Service Agents with zones as defined by ElasticMachineProvisioningConfig.getGridServiceAgentZones() and 
 ElasticMachineProvisioningConfig.isGridServiceAgentZoneMandatory()
 
 The plugin must be stateless, and is expected to delegate calls to a remove service (such as a cloud).
 Calls to this class can be concurrent from different threads, therefore implementation must be thread safe.
NonBlockingElasticMachineProvisioning, 
ElasticMachineProvisioningConfig| Method Summary | |
|---|---|
 CapacityRequirements | 
getCapacityOfSingleMachine()
 | 
 ElasticMachineProvisioningConfig | 
getConfig()
 | 
 GridServiceAgent[] | 
getDiscoveredMachines(long duration,
                      TimeUnit unit)
 | 
 boolean | 
isStartMachineSupported()
 | 
 GridServiceAgent | 
startMachine(ExactZonesConfig zones,
             GSAReservationId reservationId,
             long duration,
             TimeUnit unit)
Starts a new machine with a new grid service agent and injects specific zones into it.  | 
 GridServiceAgent | 
startMachine(long duration,
             TimeUnit unit)
Deprecated.  | 
 boolean | 
stopMachine(GridServiceAgent agent,
            long duration,
            TimeUnit unit)
Shuts down the grid service agent and the machine.  | 
| Methods inherited from interface org.openspaces.grid.gsm.machines.isolation.ElasticProcessingUnitMachineIsolationAware | 
|---|
setElasticProcessingUnitMachineIsolation | 
| Methods inherited from interface org.openspaces.grid.gsm.machines.plugins.events.ElasticMachineProvisioningProgressChangedEventListenerAware | 
|---|
setElasticMachineProvisioningProgressChangedEventListener | 
| Methods inherited from interface org.openspaces.grid.gsm.machines.plugins.events.ElasticGridServiceAgentProvisioningProgressEventListenerAware | 
|---|
setElasticGridServiceAgentProvisioningProgressEventListener | 
| Method Detail | 
|---|
boolean isStartMachineSupported()
startMachine(long, TimeUnit) and stopMachine(GridServiceAgent, long, TimeUnit) raise UnsupportedOperationException
GridServiceAgent[] getDiscoveredMachines(long duration,
                                         TimeUnit unit)
                                         throws ElasticMachineProvisioningException,
                                                ElasticGridServiceAgentProvisioningException,
                                                InterruptedException,
                                                TimeoutException
ElasticMachineProvisioningConfig 
 
 The caller then filters the result using the criteria defined in ElasticMachineProvisioningConfig.getGridServiceAgentZones() , 
 ElasticMachineProvisioningConfig.isGridServiceAgentZoneMandatory() and ElasticMachineProvisioningConfig.isDedicatedManagementMachines()
 so it is not mandatory for the implementation to do so.
ElasticMachineProvisioningException
ElasticGridServiceAgentProvisioningException
InterruptedException
TimeoutException
GridServiceAgent startMachine(ExactZonesConfig zones,
                              GSAReservationId reservationId,
                              long duration,
                              TimeUnit unit)
                              throws ElasticMachineProvisioningException,
                                     ElasticGridServiceAgentProvisioningException,
                                     InterruptedException,
                                     TimeoutException
duration - - the maximum duration after which a TimeoutException is raised.unit - - the time unit for the durationzones - - the zones to start the machine on. these zones will be injected into the GSA that is started on this machine.
ElasticMachineProvisioningException
InterruptedException
TimeoutException
ElasticGridServiceAgentProvisioningException
@Deprecated
GridServiceAgent startMachine(long duration,
                                         TimeUnit unit)
                              throws ElasticMachineProvisioningException,
                                     ElasticGridServiceAgentProvisioningException,
                                     InterruptedException,
                                     TimeoutException
duration - - the maximum duration after which a TimeoutException is raised.unit - - the time unit for the duration
ElasticMachineProvisioningException
InterruptedException
TimeoutException
ElasticGridServiceAgentProvisioningExceptionCapacityRequirements getCapacityOfSingleMachine()
boolean stopMachine(GridServiceAgent agent,
                    long duration,
                    TimeUnit unit)
                    throws ElasticMachineProvisioningException,
                           ElasticGridServiceAgentProvisioningException,
                           InterruptedException,
                           TimeoutException
agent - - the agent to stopduration - - timeout durationunit - - timeout duration time unit
TimeoutException - - terminating the machine took too long
InterruptedException
ElasticMachineProvisioningException - - terminating the machine encountered a problem.
ElasticGridServiceAgentProvisioningExceptionElasticMachineProvisioningConfig getConfig()
  | 
GigaSpaces XAP 9.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||