Package org.apache.catalina.ha

## Interface CatalinaCluster

All Superinterfaces:
  `Cluster`, `Contained`

All Known Implementing Classes:
  `SimpleTcpCluster`

    public interface CatalinaCluster
    extends Cluster

A CatalinaCluster interface allows to plug in and out the different cluster implementations

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addClusterListener​(ClusterListener listener)`
`void` `addValve​(Valve valve)`
`Channel` `getChannel()`
`ClusterDeployer` `getClusterDeployer()`
`Member` `getLocalMember()`
`Manager` `getManager​(String name)` Get Manager
`String` `getManagerName​(String name, Manager manager)` Get a new cluster name for a manager.
`Map<String,​ClusterManager>` `getManagers()`
`Member[]` `getMembers()`
`Valve[]` `getValves()`
`boolean` `hasMembers()`
`void` `removeClusterListener​(ClusterListener listener)`
`void` `send​(ClusterMessage msg)` Sends a message to all the members in the cluster
`void` `send​(ClusterMessage msg, Member dest)` Sends a message to a specific member in the cluster.
`void` `send​(ClusterMessage msg, Member dest, int sendOptions)` Sends a message with the specified sendOptions to a specific member in the cluster.
`void` `setChannel​(Channel channel)`
`void` `setClusterDeployer​(ClusterDeployer deployer)`

### Methods inherited from interface org.apache.catalina.Cluster

`backgroundProcess, createManager, getClusterName, registerManager, removeManager, setClusterName`

### Methods inherited from interface org.apache.catalina.Contained

`getContainer, setContainer`

### Method Detail

#### send

    void send​(ClusterMessage msg)

Sends a message to all the members in the cluster

Parameters:
  `msg` - ClusterMessage

#### send

    void send​(ClusterMessage msg,
              Member dest)

Sends a message to a specific member in the cluster.

Parameters:
  `msg` - ClusterMessage
  `dest` - Member

#### send

    void send​(ClusterMessage msg,
              Member dest,
              int sendOptions)

Sends a message with the specified sendOptions to a specific member in the cluster.

Parameters:
  `msg` - ClusterMessage
  `dest` - Member
  `sendOptions` - sendOptions

#### hasMembers

    boolean hasMembers()

Returns:
  `true` if the cluster has members.

#### getMembers

    Member[] getMembers()

Returns:
  an array containing all the members currently participating in the cluster.

#### getLocalMember

    Member getLocalMember()

Returns:
  the member that represents this node.

#### addValve

    void addValve​(Valve valve)

#### addClusterListener

    void addClusterListener​(ClusterListener listener)

#### removeClusterListener

    void removeClusterListener​(ClusterListener listener)

#### setClusterDeployer

    void setClusterDeployer​(ClusterDeployer deployer)

#### getClusterDeployer

    ClusterDeployer getClusterDeployer()

#### getManagers

    Map<String,​ClusterManager> getManagers()

Returns:
  The map of managers

#### getManager

    Manager getManager​(String name)

Get Manager

Parameters:
  `name` - The manager name
Returns:
  The manager

#### getManagerName

    String getManagerName​(String name,
                          Manager manager)

Get a new cluster name for a manager.

Parameters:
  `name` - Override name (optional)
  `manager` - The manager
Returns:
  the manager name in the cluster

#### getValves

    Valve[] getValves()

#### setChannel

    void setChannel​(Channel channel)

#### getChannel

    Channel getChannel()