Class LeaderSelectorHandler

java.lang.Object
com.gigaspaces.cluster.activeelection.LeaderSelectorHandler
All Implemented Interfaces:
LeaderSelector
Direct Known Subclasses:
LusBasedSelectorHandler

public abstract class LeaderSelectorHandler extends Object implements LeaderSelector
Provides runtime primary/backup selection in cluster topologies.
Since:
6.0
Version:
1.0
Author:
Igor Goldenberg
  • Field Details

  • Constructor Details

    • LeaderSelectorHandler

      public LeaderSelectorHandler()
  • Method Details

    • initialize

      public void initialize(LeaderSelectorHandlerConfig config) throws Exception
      Throws:
      Exception
    • isPrimary

      public boolean isPrimary()
      Specified by:
      isPrimary in interface LeaderSelector
      Returns:
      trueif the Space is primary, otherwise the space in backup mode.
    • beforeSpaceModeChange

      protected void beforeSpaceModeChange(SpaceMode newMode)
      Notify the listeners about the event
    • afterSpaceModeChange

      protected void afterSpaceModeChange(SpaceMode newMode)
      Notify the listeners about the event
    • dispatchBeforeEventToRemoteListeners

      protected void dispatchBeforeEventToRemoteListeners(Queue<ISpaceModeListener> remoteListeners, SpaceMode newMode)
    • moveToPrimary

      protected void moveToPrimary()
      Change space mode to primary
    • moveToBackup

      protected void moveToBackup()
      Change space mode to backup
    • moveToUnusable

      protected void moveToUnusable()
      Change space state to UNHEALTHY, so it is redeployed
    • addListenerAndNotify

      public void addListenerAndNotify(ISpaceModeListener listener) throws RemoteException
      Add listener for space availability and notify the listener with the current space mode
      Throws:
      RemoteException
    • removeListener

      public void removeListener(ISpaceModeListener listener)
      Remove listener for space availability
    • setSpaceMode

      public void setSpaceMode(SpaceMode spaceMode)
    • getSpaceMode

      public SpaceMode getSpaceMode()
    • compareAndRegister

      public boolean compareAndRegister(SpaceMode spaceMode, ISpaceModeListener listener)
      Checks if space mode equals given mode. If true - registers the given listener to election events. Otherwise returns false.
    • getLastError

      public Throwable getLastError()
      Specified by:
      getLastError in interface LeaderSelector
    • setLastError

      public void setLastError(Throwable lastError)
      Specified by:
      setLastError in interface LeaderSelector
    • forceMoveToPrimary

      public void forceMoveToPrimary() throws RemoteException
      Throws:
      RemoteException