Interface GridServiceManagers

All Superinterfaces:
AdminAware, DumpProvider, Iterable<GridServiceManager>
All Known Subinterfaces:
InternalGridServiceManagers
All Known Implementing Classes:
DefaultGridServiceManagers

public interface GridServiceManagers extends AdminAware, Iterable<GridServiceManager>, DumpProvider
Grid Service Containers hold all the different GridServiceManagers that are currently discovered.

Provides simple means to get all the current managers, as well as as registering for manager lifecycle (added and removed) events.

Also provides the ability to deploy a processing unit or a space (which is also a processing unit, that simply just starts a space) on a randomly selected GSM (more control on which manager to deploy can use GridServiceManager.deploy(org.openspaces.admin.pu.ProcessingUnitDeployment).

Author:
kimchy
  • Method Details

    • getManagers

      GridServiceManager[] getManagers()
      Returns all the currently discovered managers.
    • getManagerByUID

      GridServiceManager getManagerByUID(String uid)
      Returns a manager based on its uid.
      See Also:
    • getUids

      Returns a map of grid service manager with the key as the uid.
    • getSize

      int getSize()
      Returns the number of managers current discovered.
    • isEmpty

      boolean isEmpty()
      Returns true if there are no managers, false otherwise.
    • waitForActiveManager

      GridServiceManager waitForActiveManager()
      Returns:
      the managing instance or null if non available in the default time-out.
      Since:
      12.1
    • waitForActiveManager

      GridServiceManager waitForActiveManager(long timeout, TimeUnit timeUnit)
      Returns:
      the managing instance or null if non available in the specified time-out
      Since:
      12.1
    • waitForAtLeastOne

      GridServiceManager waitForAtLeastOne()
      Waits indefinitely till at least one GSM is discovered and returns it.
    • waitForAtLeastOne

      GridServiceManager waitForAtLeastOne(long timeout, TimeUnit timeUnit)
      Waits for the given timeout (in time unit) till at least one GSM is discovered and returns it.
    • waitFor

      boolean waitFor(int numberOfGridServiceManagers)
      Waits indefinitely till the provided number of managers are up. When passing 0, will wait till there are no more managers.
      Parameters:
      numberOfGridServiceManagers - The number of managers to wait for
    • waitFor

      boolean waitFor(int numberOfGridServiceManagers, long timeout, TimeUnit timeUnit)
      Waits for the given timeout (in time unit) till the provided number of managers are up. Returns true if the required number of managers were discovered, false if the timeout expired.

      When passing 0, will wait till there are no more managers.

      Parameters:
      numberOfGridServiceManagers - The number of managers to wait for
    • deploy

      Deploys a processing unit based on the processing unit deployment information on a random grid service manager (it will act as the primary GSM for the deployed processing unit).

      The deployment process will wait indefinitely and return the actual processing unit that can be used.

    • deploy

      ProcessingUnit deploy(ProcessingUnitDeployment deployment, long timeout, TimeUnit timeUnit)
      Deploys a processing unit based on the processing unit deployment information on a random grid service manager (it will act as the primary GSM for the deployed processing unit).

      The deployment process will wait for the given timeout and return the actual processing unit that can be used.

    • deploy

      ProcessingUnit deploy(SpaceDeployment deployment)
      Deploys a space based on the space deployment information on a random grid service manager (it will act as the primary GSM for the deployed processing unit).

      The deployment process will wait indefinitely and return the actual processing unit that can be used.

      Note, deploying just a space is simply deploying a built in processing unit that starts just an embedded space.

    • deploy

      ProcessingUnit deploy(SpaceDeployment deployment, long timeout, TimeUnit timeUnit)
      Deploys a space based on the space deployment information on a random grid service manager (it will act as the primary GSM for the deployed processing unit).

      The deployment process will wait for the provided timeout and return the actual processing unit that can be used.

      Note, deploying just a space is simply deploying a built in processing unit that starts just an embedded space.

    • deploy

      Deploys an application consisting of one or more processing unit deployments.

      The deployment process will wait indefinitely

      Returns:
      An application containing the actual processing units that can be used.
      Throws:
      ApplicationAlreadyDeployedException - - Application with the same name has already been deployed.
      ProcessingUnitAlreadyDeployedException - - Processing unit with the same name has already been deployed. Processing Unit names are globally unique (regardless of the application name)
    • deploy

      Deploys an application consisting of one or more processing unit deployments.

      The deployment process will wait for the given timeout

      Returns:
      An application containing the actual processing units that can be used or null if timeout expired.
      Throws:
      ApplicationAlreadyDeployedException - - Application with the same name has already been deployed.
      ProcessingUnitAlreadyDeployedException - - Processing unit with the same name has already been deployed. Processing Unit names are globally unique (regardless of the application name)
    • deploy

      Application deploy(ApplicationConfig applicationConfig)
      Deploys an application consisting of one or more processing unit deployments.

      The deployment process will wait indefinitely

      Returns:
      An application containing the actual processing units that can be used.
      Throws:
      ApplicationAlreadyDeployedException - - Application with the same name has already been deployed.
      ProcessingUnitAlreadyDeployedException - - Processing unit with the same name has already been deployed. Processing Unit names are globally unique (regardless of the application name)
    • deploy

      Deploys an application consisting of one or more processing unit deployments.

      The deployment process will wait for the given timeout

      Returns:
      An application configuration containing the actual processing units that can be used or null if timeout expired.
      Throws:
      ApplicationAlreadyDeployedException - - Application with the same name has already been deployed.
      ProcessingUnitAlreadyDeployedException - - Processing unit with the same name has already been deployed. Processing Unit names are globally unique (regardless of the application name)
    • getGridServiceManagerAdded

      GridServiceManagerAddedEventManager getGridServiceManagerAdded()
      Returns the grid service manager added event manager allowing to add and remove GridServiceManagerAddedEventListeners.
    • getGridServiceManagerRemoved

      GridServiceManagerRemovedEventManager getGridServiceManagerRemoved()
      Returns the grid service container added event manager allowing to add and remove GridServiceManagerRemovedEventListeners.
    • addLifecycleListener

      void addLifecycleListener(GridServiceManagerLifecycleEventListener eventListener)
    • removeLifecycleListener

      void removeLifecycleListener(GridServiceManagerLifecycleEventListener eventListener)