org.apache.catalina

## Interface Cluster

- All Known Subinterfaces:
    CatalinaCluster
  All Known Implementing Classes:
    SimpleTcpCluster

      public interface Cluster

  A Cluster works as a Cluster client/server for the local host Different Cluster implementations can be used to support different ways to communicate within the Cluster. A Cluster implementation is responsible for setting up a way to communicate within the Cluster and also supply "ClientApplications" with `ClusterSender` used when sending information in the Cluster and `ClusterInfo` used for receiving information in the Cluster.
  Author:
    Bip Thelin, Remy Maucherat

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `backgroundProcess()` Execute a periodic task, such as reloading, etc.
    `Manager` | `createManager(String name)` Create a new manager which will use this cluster to replicate its sessions.
    `String` | `getClusterName()` Return the name of the cluster that this Server is currently configured to operate within.
    `Container` | `getContainer()` Get the Container associated with our Cluster
    `void` | `registerManager(Manager manager)` Register a manager with the cluster.
    `void` | `removeManager(Manager manager)` Removes a manager from the cluster
    `void` | `setClusterName(String clusterName)` Set the name of the cluster to join, if no cluster with this name is present create one.
    `void` | `setContainer(Container container)` Set the Container associated with our Cluster

- - ### Method Detail

    - #### getClusterName

          String getClusterName()

      Return the name of the cluster that this Server is currently configured to operate within.
      Returns:
        The name of the cluster associated with this server

    - #### setClusterName

          void setClusterName(String clusterName)

      Set the name of the cluster to join, if no cluster with this name is present create one.
      Parameters:
        `clusterName` - The clustername to join

    - #### setContainer

          void setContainer(Container container)

      Set the Container associated with our Cluster
      Parameters:
        `container` - The Container to use

    - #### getContainer

          Container getContainer()

      Get the Container associated with our Cluster
      Returns:
        The Container associated with our Cluster

    - #### createManager

          Manager createManager(String name)

      Create a new manager which will use this cluster to replicate its sessions.
      Parameters:
        `name` - Name (key) of the application with which the manager is associated
      Returns:
        The newly created Manager instance

    - #### registerManager

          void registerManager(Manager manager)

      Register a manager with the cluster. If the cluster is not responsible for creating a manager, then the container will at least notify the cluster that this manager is participating in the cluster.
      Parameters:
        `manager` - Manager

    - #### removeManager

          void removeManager(Manager manager)

      Removes a manager from the cluster
      Parameters:
        `manager` - Manager

    - #### backgroundProcess

          void backgroundProcess()

      Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.