## org.mortbay.jetty
Class Server

    java.lang.Object
      org.mortbay.component.AbstractLifeCycle
          org.mortbay.jetty.handler.AbstractHandler
              org.mortbay.jetty.handler.AbstractHandlerContainer
                  org.mortbay.jetty.handler.HandlerWrapper
                      org.mortbay.jetty.Server

All Implemented Interfaces:
  LifeCycle, Handler, HandlerContainer, Attributes

Direct Known Subclasses:
  JettyFactoryBean, SetUIDServer

    public class Server

extends HandlerWrapper
implements Attributes

Jetty HTTP Servlet Server. This class is the main class for the Jetty HTTP Servlet server. It aggregates Connectors (HTTP request receivers) and request Handlers. The server is itself a handler and a ThreadPool. Connectors use the ThreadPool methods to run jobs that will eventually call the handle method.

Nested Class Summary
`static interface` `Server.Graceful`

Field Summary

Fields inherited from class org.mortbay.jetty.handler.AbstractHandler
`_string`

Fields inherited from interface org.mortbay.jetty.Handler
`ALL, DEFAULT, ERROR, FORWARD, INCLUDE, REQUEST`

Constructor Summary
`Server()`
`Server(int port)` Convenience constructor Creates server and a `SocketConnector` at the passed port.

Method Summary
`void` `addConnector(Connector connector)`
`void` `addHandler(Handler handler)` Add a handler.
`void` `addLifeCycle(LifeCycle c)` Add a LifeCycle object to be started/stopped along with the Server.
`void` `addUserRealm(UserRealm realm)`
`void` `clearAttributes()`
`protected void` `doStart()`
`protected void` `doStop()`
`Object` `getAttribute(String name)`
`Enumeration` `getAttributeNames()`
`Connector[]` `getConnectors()`
`Container` `getContainer()`
`int` `getGracefulShutdown()`
`Handler[]` `getHandlers()`
`boolean` `getSendDateHeader()`
`boolean` `getSendServerVersion()`
`SessionIdManager` `getSessionIdManager()`
`boolean` `getStopAtShutdown()`
`ThreadPool` `getThreadPool()`
`UserRealm[]` `getUserRealms()`
`static String` `getVersion()`
`void` `handle(HttpConnection connection)`
`void` `join()`
`void` `removeAttribute(String name)`
`void` `removeConnector(Connector connector)` Conveniance method which calls `getConnectors()` and `setConnectors(Connector[])` to remove a connector.
`void` `removeHandler(Handler handler)`
`void` `removeLifeCycle(LifeCycle c)` Remove a LifeCycle object to be started/stopped along with the Server
`void` `removeUserRealm(UserRealm realm)`
`void` `setAttribute(String name, Object attribute)`
`void` `setConnectors(Connector[] connectors)` Set the connectors for this server.
`void` `setGracefulShutdown(int timeoutMS)` Set graceful shutdown timeout.
`void` `setHandlers(Handler[] handlers)`
`void` `setSendDateHeader(boolean sendDateHeader)`
`void` `setSendServerVersion(boolean sendServerVersion)`
`void` `setSessionIdManager(SessionIdManager sessionIdManager)`
`void` `setStopAtShutdown(boolean stop)`
`void` `setThreadPool(ThreadPool threadPool)`
`void` `setUserRealms(UserRealm[] realms)`

Methods inherited from class org.mortbay.jetty.handler.HandlerWrapper
`expandChildren, getHandler, handle, setHandler, setServer`

Methods inherited from class org.mortbay.jetty.handler.AbstractHandlerContainer
`expandHandler, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass`

Methods inherited from class org.mortbay.jetty.handler.AbstractHandler
`destroy, getServer, toString`

Methods inherited from class org.mortbay.component.AbstractLifeCycle
`isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.mortbay.component.LifeCycle
`isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop`

Constructor Detail

### Server

    public Server()

### Server

    public Server(int port)

  Convenience constructor Creates server and a `SocketConnector` at the passed port.

Method Detail

### getVersion

    public static String getVersion()

### getContainer

    public Container getContainer()

  Returns:
    Returns the container.

### getStopAtShutdown

    public boolean getStopAtShutdown()

### setStopAtShutdown

    public void setStopAtShutdown(boolean stop)

### getConnectors

    public Connector[] getConnectors()

  Returns:
    Returns the connectors.

### addConnector

    public void addConnector(Connector connector)

### removeConnector

    public void removeConnector(Connector connector)

  Conveniance method which calls `getConnectors()` and `setConnectors(Connector[])` to remove a connector.

  Parameters:
    `connector` - The connector to remove.

### setConnectors

    public void setConnectors(Connector[] connectors)

  Set the connectors for this server. Each connector has this server set as it's ThreadPool and its Handler.

  Parameters:
    `connectors` - The connectors to set.

### getThreadPool

    public ThreadPool getThreadPool()

  Returns:
    Returns the threadPool.

### setThreadPool

    public void setThreadPool(ThreadPool threadPool)

  Parameters:
    `threadPool` - The threadPool to set.

### doStart

    protected void doStart()
                    throws Exception

  Overrides:
    `doStart` in class `HandlerWrapper`
  Throws:
    `Exception`

### doStop

    protected void doStop()
                   throws Exception

  Overrides:
    `doStop` in class `HandlerWrapper`
  Throws:
    `Exception`

### handle

    public void handle(HttpConnection connection)
                throws IOException,
                       ServletException

  Throws:
    `IOException`
    `ServletException`

### join

    public void join()
              throws InterruptedException

  Throws:
    `InterruptedException`

### getUserRealms

    public UserRealm[] getUserRealms()

  Returns:
    Map of realm name to UserRealm instances.

### setUserRealms

    public void setUserRealms(UserRealm[] realms)

  Parameters:
    `realms` - Map of realm name to UserRealm instances.

### addUserRealm

    public void addUserRealm(UserRealm realm)

### removeUserRealm

    public void removeUserRealm(UserRealm realm)

### getSessionIdManager

    public SessionIdManager getSessionIdManager()

  Returns:
    Returns the sessionIdManager.

### setSessionIdManager

    public void setSessionIdManager(SessionIdManager sessionIdManager)

  Parameters:
    `sessionIdManager` - The sessionIdManager to set.

### setSendServerVersion

    public void setSendServerVersion(boolean sendServerVersion)

### getSendServerVersion

    public boolean getSendServerVersion()

### setSendDateHeader

    public void setSendDateHeader(boolean sendDateHeader)

  Parameters:
    `sendDateHeader` -

### getSendDateHeader

    public boolean getSendDateHeader()

### addLifeCycle

    public void addLifeCycle(LifeCycle c)

  Add a LifeCycle object to be started/stopped along with the Server.

  Parameters:
    `c` -

### removeLifeCycle

    public void removeLifeCycle(LifeCycle c)

  Remove a LifeCycle object to be started/stopped along with the Server

  Parameters:
    `c` -

### addHandler

    public void addHandler(Handler handler)

  Description copied from class: `HandlerWrapper`
  Add a handler. This implementation of addHandler calls setHandler with the passed handler. If this HandlerWrapper had a previous wrapped handler, then it is passed to a call to addHandler on the passed handler. Thus this call can add a handler in a chain of wrapped handlers.

  Specified by:
    `addHandler` in interface `HandlerContainer`
  Overrides:
    `addHandler` in class `HandlerWrapper`

### removeHandler

    public void removeHandler(Handler handler)

  Specified by:
    `removeHandler` in interface `HandlerContainer`
  Overrides:
    `removeHandler` in class `HandlerWrapper`

### getHandlers

    public Handler[] getHandlers()

### setHandlers

    public void setHandlers(Handler[] handlers)

### clearAttributes

    public void clearAttributes()

  Specified by:
    `clearAttributes` in interface `Attributes`

### getAttribute

    public Object getAttribute(String name)

  Specified by:
    `getAttribute` in interface `Attributes`

### getAttributeNames

    public Enumeration getAttributeNames()

  Specified by:
    `getAttributeNames` in interface `Attributes`

### removeAttribute

    public void removeAttribute(String name)

  Specified by:
    `removeAttribute` in interface `Attributes`

### setAttribute

    public void setAttribute(String name,
                             Object attribute)

  Specified by:
    `setAttribute` in interface `Attributes`

### getGracefulShutdown

    public int getGracefulShutdown()

  Returns:
    the graceful

### setGracefulShutdown

    public void setGracefulShutdown(int timeoutMS)

  Set graceful shutdown timeout. If set, the `doStop()` method will not immediately stop the server. Instead, all `Connector`s will be closed so that new connections will not be accepted and all handlers that implement `Server.Graceful` will be put into the shutdown mode so that no new requests will be accepted, but existing requests can complete. The server will then wait the configured timeout before stopping.

  Parameters:
    `timeoutMS` - the milliseconds to wait for existing request to complete before stopping the server.

Copyright © 2008 Mort Bay Consulting. All Rights Reserved.