org.apache.catalina
Interface Server

All Known Implementing Classes:
StandardServer

public interface Server

A Server represents one convenient way to package a set of Connectors associated with a particular Container. You can have several many-to-one relationships (set of Connectors associated with one Container) by adding one or more Connectors first, followed by the corresponding Container, and then repeating this pattern.

This interface (and the corresonding implementation) exist to simplify configuring Catalina from a server.xml file. It has no functional role once the server has been started.

Normally, an implementation of this interface will also implement Lifecycle, such that when the start() and stop() methods are called, all of the defined Containers and Connectors are also started or stopped.

In between, the implementation must open a server socket on the port number specified by the port property. When a connection is accepted, the first line is read and compared with the specified shutdown command. If the command matches, shutdown of the server is initiated.

NOTE - The concrete implementation of this class should register the (singleton) instance with the ServerFactory class in its constructor(s).

Version:
$Revision: 1.7 $ $Date: 2001/08/23 22:15:43 $
Author:
Craig R. McClanahan

Method Summary
 void addService(Service service)
          Add a new Service to the set of defined Services.
 void await()
          Wait until a proper shutdown command is received, then return.
 Service[] findServices()
          Return the set of Services defined within this Server.
 java.lang.String getInfo()
          Return descriptive information about this Server implementation and the corresponding version number, in the format <description>/<version>.
 int getPort()
          Return the port number we listen to for shutdown commands.
 java.lang.String getShutdown()
          Return the shutdown command string we are waiting for.
 void initialize()
          Invoke a pre-startup initialization.
 void removeService(Service service)
          Remove the specified Service from the set associated from this Server.
 void setPort(int port)
          Set the port number we listen to for shutdown commands.
 void setShutdown(java.lang.String shutdown)
          Set the shutdown command we are waiting for.
 

Method Detail

getInfo

public java.lang.String getInfo()
Return descriptive information about this Server implementation and the corresponding version number, in the format <description>/<version>.


getPort

public int getPort()
Return the port number we listen to for shutdown commands.


setPort

public void setPort(int port)
Set the port number we listen to for shutdown commands.

Parameters:
port - The new port number

getShutdown

public java.lang.String getShutdown()
Return the shutdown command string we are waiting for.


setShutdown

public void setShutdown(java.lang.String shutdown)
Set the shutdown command we are waiting for.

Parameters:
shutdown - The new shutdown command

addService

public void addService(Service service)
Add a new Service to the set of defined Services.

Parameters:
service - The Service to be added

await

public void await()
Wait until a proper shutdown command is received, then return.


findServices

public Service[] findServices()
Return the set of Services defined within this Server.


removeService

public void removeService(Service service)
Remove the specified Service from the set associated from this Server.

Parameters:
service - The Service to be removed

initialize

public void initialize()
                throws LifecycleException
Invoke a pre-startup initialization. This is used to allow connectors to bind to restricted ports under Unix operating environments.

Throws:
LifecycleException - If this server was already initialized.


Copyright 2000-2001 Apache Software Foundation. All Rights Reserved.