org.mortbay.jetty
Class Server

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.handler.AbstractHandler
          extended by org.mortbay.jetty.handler.AbstractHandlerContainer
              extended by org.mortbay.jetty.handler.HandlerWrapper
                  extended by 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
           
 
Nested classes/interfaces inherited from interface org.mortbay.component.LifeCycle
LifeCycle.Listener
 
Field Summary
static String SNAPSHOT_VERSION
           
static String UNKNOWN_VERSION
           
 
Fields inherited from class org.mortbay.jetty.handler.AbstractHandler
_string
 
Fields inherited from class org.mortbay.component.AbstractLifeCycle
_listeners
 
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
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, 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
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 

Field Detail

UNKNOWN_VERSION

public static final String UNKNOWN_VERSION
See Also:
Constant Field Values

SNAPSHOT_VERSION

public static final String SNAPSHOT_VERSION
See Also:
Constant Field Values
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 Connectors 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 © 1995-2009 Mort Bay Consulting. All Rights Reserved.