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

Modifier and Type
Method
Description
`void`
`addClusterListener(ClusterListener listener)`
Add cluster message listener and register cluster to this listener.
`void`
`addValve(Valve valve)`
Add cluster 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)`
Remove message listener and deregister Cluster from 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)`
Set the channel associated with the cluster.
`void`
`setClusterDeployer(ClusterDeployer deployer)`
Set a new Deployer, must be set before the cluster started.

### 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 Details

### 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)
Add cluster valve. Cluster Valves are only add to container when cluster is started.

Parameters:
  `valve` - The new cluster Valve.

### addClusterListener

void addClusterListener(ClusterListener listener)
Add cluster message listener and register cluster to this listener.

Parameters:
  `listener` - The new listener

### removeClusterListener

void removeClusterListener(ClusterListener listener)
Remove message listener and deregister Cluster from listener.

Parameters:
  `listener` - The listener to remove

### setClusterDeployer

void setClusterDeployer(ClusterDeployer deployer)
Set a new Deployer, must be set before the cluster started.

Parameters:
  `deployer` - The associated deployer

### getClusterDeployer

ClusterDeployer getClusterDeployer()

Returns:
  the current Deployer

### 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()

Returns:
  the current cluster valves

### setChannel

void setChannel(Channel channel)
Set the channel associated with the cluster.

Parameters:
  `channel` - the channel

### getChannel

Channel getChannel()

Returns:
  the channel associated with the cluster