Interface ClusterManager

All Superinterfaces:
Manager
All Known Implementing Classes:
BackupManager, ClusterManagerBase, DeltaManager

public interface ClusterManager extends Manager
The common interface used by all cluster manager. This is so that we can have a more pluggable way of swapping session managers for different algorithms.
Author:
Peter Rossbach
  • Method Details

    • messageDataReceived

      void messageDataReceived(ClusterMessage msg)
      A message was received from another node, this is the callback method to implement if you are interested in receiving replication messages.
      Parameters:
      msg - - the message received.
    • requestCompleted

      ClusterMessage requestCompleted(String sessionId)
      When the request has been completed, the replication valve will notify the manager, and the manager will decide whether any replication is needed or not. If there is a need for replication, the manager will create a session message and that will be replicated. The cluster determines where it gets sent.
      Parameters:
      sessionId - - the sessionId that just completed.
      Returns:
      a SessionMessage to be sent.
    • getInvalidatedSessions

      String[] getInvalidatedSessions()
      When the manager expires session not tied to a request. The cluster will periodically ask for a list of sessions that should expire and that should be sent across the wire.
      Returns:
      String[] The invalidated sessions
    • getName

      String getName()
      Return the name of the manager, at host /context name and at engine hostname+/context.
      Returns:
      String
      Since:
      5.5.10
    • setName

      void setName(String name)
      Set the name of the manager, at host /context name and at engine hostname+/context
      Parameters:
      name - The manager name
      Since:
      5.5.10
    • getCluster

      CatalinaCluster getCluster()
      Returns:
      the cluster associated with this manager
    • setCluster

      void setCluster(CatalinaCluster cluster)
      Set the cluster associated with this manager.
      Parameters:
      cluster - the cluster
    • getReplicationStream

      ReplicationStream getReplicationStream(byte[] data) throws IOException
      Open stream and use correct ClassLoader (Container), switching thread context class loader.
      Parameters:
      data - the data
      Returns:
      the object input stream
      Throws:
      IOException - An error occurred
    • getReplicationStream

      ReplicationStream getReplicationStream(byte[] data, int offset, int length) throws IOException
      Open stream and use correct ClassLoader (Container), switching thread context class loader.
      Parameters:
      data - the data
      offset - the offset in the data array
      length - the data length
      Returns:
      the object input stream
      Throws:
      IOException - An error occurred
    • isNotifyListenersOnReplication

      boolean isNotifyListenersOnReplication()
      Returns:
      true if listeners are notified on replication
    • cloneFromTemplate

      ClusterManager cloneFromTemplate()
      Returns:
      a clone of a template manager configuration