## org.apache.catalina
Interface Cluster

All Known Implementing Classes:
  StandardCluster

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.

Version:
  $Revision: 1.6 $, $Date: 2004/08/26 22:05:20 $
Author:
  Bip Thelin

Method Summary
`int` `getCheckInterval()` Get the time in seconds that this Cluster sleeps.
`java.lang.String` `getClusterName()` Return the name of the cluster that this Server is currently configured to operate within.
`ClusterReceiver` `getClusterReceiver(java.lang.String senderId)` Returns a `ClusterReceiver` which is the interface to use when receiving information in the Cluster.
`ClusterSender` `getClusterSender(java.lang.String senderId)` Returns a `ClusterSender` which is the interface to use when sending information in the Cluster.
`Container` `getContainer()` Get the Container associated with our Cluster
`int` `getDebug()` Returns the debug level for this Cluster
`java.lang.String` `getInfo()` Return descriptive information about this Cluster implementation and the corresponding version number, in the format `<description>/<version>`.
`ClusterMemberInfo` `getLocalClusterMember()` Return cluster information about the local host
`ClusterMemberInfo[]` `getRemoteClusterMembers()` Returns a collection containing `ClusterMemberInfo` on the remote members of this Cluster.
`void` `setCheckInterval(int checkInterval)` Set the time in seconds that the Cluster waits before checking for changes and replicated data.
`void` `setClusterName(java.lang.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
`void` `setDebug(int debug)` The debug detail level for this Cluster

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this Cluster implementation and the corresponding version number, in the format `<description>/<version>`.

### getClusterName

    public java.lang.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

### setCheckInterval

    public void setCheckInterval(int checkInterval)

  Set the time in seconds that the Cluster waits before checking for changes and replicated data.

  Parameters:
    `checkInterval` - The time in seconds to sleep

### getCheckInterval

    public int getCheckInterval()

  Get the time in seconds that this Cluster sleeps.

  Returns:
    The value in seconds

### setClusterName

    public void setClusterName(java.lang.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

    public void setContainer(Container container)

  Set the Container associated with our Cluster

  Parameters:
    `container` - The Container to use

### getContainer

    public Container getContainer()

  Get the Container associated with our Cluster

  Returns:
    The Container associated with our Cluster

### setDebug

    public void setDebug(int debug)

  The debug detail level for this Cluster

  Parameters:
    `debug` - The debug level

### getDebug

    public int getDebug()

  Returns the debug level for this Cluster

  Returns:
    The debug level

### getRemoteClusterMembers

    public ClusterMemberInfo[] getRemoteClusterMembers()

  Returns a collection containing `ClusterMemberInfo` on the remote members of this Cluster. This method does not include the local host, to retrieve `ClusterMemberInfo` on the local host use `getLocalClusterInfo()` instead.

  Returns:
    Collection with all members in the Cluster

### getClusterSender

    public ClusterSender getClusterSender(java.lang.String senderId)

  Returns a `ClusterSender` which is the interface to use when sending information in the Cluster. senderId is used as a identifier so that information sent through this instance can only be used with the respectice `ClusterReceiver`

  Returns:
    The ClusterSender

### getClusterReceiver

    public ClusterReceiver getClusterReceiver(java.lang.String senderId)

  Returns a `ClusterReceiver` which is the interface to use when receiving information in the Cluster. senderId is used as a indentifier, only information send through the `ClusterSender` with the same senderId can be received.

  Returns:
    The ClusterReceiver

### getLocalClusterMember

    public ClusterMemberInfo getLocalClusterMember()

  Return cluster information about the local host

  Returns:
    Cluster information

Copyright ? 2000-2002 Apache Software Foundation. All Rights Reserved.