org.apache.catalina
Interface Cluster


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/02/27 14:58:38 $
Author:
Bip Thelin, Remy Maucherat, Filip Hanik

Method Summary
 Manager createManager(java.lang.String name)
          Create a new manager which will use this cluster to replicate its sessions.
 java.lang.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
 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>.
 java.lang.String getProtocol()
          Get the protocol used by the cluster.
 void installContext(java.lang.String contextPath, java.net.URL war)
          Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path.
 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
 void setProtocol(java.lang.String protocol)
          Set the protocol parameters.
 void startContext(java.lang.String contextPath)
          Start an existing web application, attached to the specified context path in all the other nodes in the cluster.
 void stop(java.lang.String contextPath)
          Stop an existing web application, attached to the specified context path.
 

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

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

setProtocol

public void setProtocol(java.lang.String protocol)
Set the protocol parameters.

Parameters:
protocol - The protocol used by the cluster

getProtocol

public java.lang.String getProtocol()
Get the protocol used by the cluster.

Returns:
The protocol

createManager

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

startContext

public void startContext(java.lang.String contextPath)
                  throws java.io.IOException
Start an existing web application, attached to the specified context path in all the other nodes in the cluster. Only starts a web application if it is not running.

Parameters:
contextPath - The context path of the application to be started
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs during startup

installContext

public void installContext(java.lang.String contextPath,
                           java.net.URL war)
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path. A context path of "" (the empty string) should be used for the root application for this container. Otherwise, the context path must start with a slash.

If this application is successfully installed, a ContainerEvent of type PRE_INSTALL_EVENT will be sent to registered listeners before the associated Context is started, and a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners after the associated Context is started, with the newly created Context as an argument.

Parameters:
contextPath - The context path to which this application should be installed (must be unique)
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalStateException - if the specified context path is already attached to an existing web application
java.io.IOException - if an input/output error was encountered during installation

stop

public void stop(java.lang.String contextPath)
          throws java.io.IOException
Stop an existing web application, attached to the specified context path. Only stops a web application if it is running.

Parameters:
contextPath - The context path of the application to be stopped
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs while stopping the web application


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