org.mortbay.jetty
Class Server

java.lang.Object
  extended by org.mortbay.util.Container
      extended by org.mortbay.http.HttpServer
          extended by org.mortbay.jetty.Server
All Implemented Interfaces:
java.io.Serializable, EventProvider, LifeCycle
Direct Known Subclasses:
Server

public class Server
extends HttpServer

The Jetty HttpServer. This specialization of org.mortbay.http.HttpServer adds knowledge about servlets and their specialized contexts. It also included support for initialization from xml configuration files that follow the XmlConfiguration dtd. HttpContexts created by Server are of the type org.mortbay.jetty.servlet.ServletHttpContext unless otherwise specified. This class also provides a main() method which starts a server for each config file passed on the command line. If the system property JETTY_NO_SHUTDOWN_HOOK is not set to true, then a shutdown hook is thread is registered to stop these servers.

Version:
$Revision: 1.40 $
Author:
Greg Wilkins (gregw)
See Also:
XmlConfiguration, ServletHttpContext, Serialized Form

Constructor Summary
Server()
          Constructor.
Server(Resource configuration)
          Constructor.
Server(java.lang.String configuration)
          Constructor.
Server(java.net.URL configuration)
          Constructor.
 
Method Summary
 WebApplicationContext addWebApplication(java.lang.String contextPathSpec, java.lang.String webApp)
          Add Web Application.
 WebApplicationContext addWebApplication(java.lang.String virtualHost, java.lang.String contextPathSpec, java.lang.String webApp)
          Add Web Application.
 WebApplicationContext[] addWebApplications(java.lang.String webapps)
          Add Web Applications.
 WebApplicationContext[] addWebApplications(java.lang.String host, java.lang.String webapps)
          Add Web Applications.
 WebApplicationContext[] addWebApplications(java.lang.String host, java.lang.String webapps, boolean extract)
          Add Web Applications.
 WebApplicationContext[] addWebApplications(java.lang.String host, java.lang.String webapps, java.lang.String defaults, boolean extract)
          Add Web Applications.
 WebApplicationContext[] addWebApplications(java.lang.String host, java.lang.String webapps, java.lang.String defaults, boolean extract, boolean java2CompliantClassLoader)
          Add Web Applications.
 void configure(java.lang.String configuration)
          Configure the server from an XML file.
 java.lang.String getConfiguration()
           
 java.lang.String getRootWebApp()
          Get the root webapp name.
 boolean getStopAtShutdown()
           
 java.lang.String[] getWebApplicationConfigurationClassNames()
           
static void main(java.lang.String[] arg)
           
protected  HttpContext newHttpContext()
          Create a new ServletHttpContext.
protected  WebApplicationContext newWebApplicationContext(java.lang.String webApp)
          Create a new WebApplicationContext.
 void setRootWebApp(java.lang.String rootWebApp)
          Set the root webapp name.
 void setStopAtShutdown(boolean stop)
           
 void setWebApplicationConfigurationClassNames(java.lang.String[] configurationClassNames)
          setWebApplicationConfigurationClasses Set up the list of classnames of WebApplicationContext.Configuration implementations that will be applied to configure every webapp.
 
Methods inherited from class org.mortbay.http.HttpServer
addContext, addContext, addContext, addContext, addHostAlias, addListener, addListener, addListener, addRealm, destroy, doStart, doStop, findHandler, getConnections, getConnectionsDurationAve, getConnectionsDurationMax, getConnectionsDurationMin, getConnectionsDurationTotal, getConnectionsOpen, getConnectionsOpenMax, getConnectionsOpenMin, getConnectionsRequestsAve, getConnectionsRequestsMax, getConnectionsRequestsMin, getContext, getContext, getContext, getContexts, getErrors, getHostMap, getHttpServerList, getHttpServers, getListeners, getRealm, getRequestLog, getRequests, getRequestsActive, getRequestsActiveMax, getRequestsActiveMin, getRequestsDurationAve, getRequestsDurationMax, getRequestsDurationMin, getRequestsDurationTotal, getRequestsPerGC, getResolveRemoteHost, getServerClasses, getStatsOn, getStatsOnMs, getStopGracefully, getSystemClasses, getTrace, join, removeContext, removeListener, removeRealm, save, service, setAnonymous, setContexts, setListeners, setRequestLog, setRequestsPerGC, setResolveRemoteHost, setServerClasses, setStatsOn, setStopGracefully, setSystemClasses, setTrace, statsReset, stop
 
Methods inherited from class org.mortbay.util.Container
addComponent, addEventListener, getComponents, isFailed, isStarted, isStarting, isStopping, removeComponent, removeEventListener, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mortbay.util.LifeCycle
isStarted, start, stop
 
Methods inherited from interface org.mortbay.util.EventProvider
addEventListener, removeEventListener
 

Constructor Detail

Server

public Server()
Constructor.


Server

public Server(java.lang.String configuration)
       throws java.io.IOException
Constructor.

Parameters:
configuration - The filename or URL of the XML configuration file.
Throws:
java.io.IOException

Server

public Server(Resource configuration)
       throws java.io.IOException
Constructor.

Parameters:
configuration - The filename or URL of the XML configuration file.
Throws:
java.io.IOException

Server

public Server(java.net.URL configuration)
       throws java.io.IOException
Constructor.

Parameters:
configuration - The filename or URL of the XML configuration file.
Throws:
java.io.IOException
Method Detail

getStopAtShutdown

public boolean getStopAtShutdown()

setStopAtShutdown

public void setStopAtShutdown(boolean stop)

getRootWebApp

public java.lang.String getRootWebApp()
Get the root webapp name.

Returns:
The name of the root webapp (eg. "root" for root.war).

setRootWebApp

public void setRootWebApp(java.lang.String rootWebApp)
Set the root webapp name.

Parameters:
rootWebApp - The name of the root webapp (eg. "root" for root.war).

configure

public void configure(java.lang.String configuration)
               throws java.io.IOException
Configure the server from an XML file.

Parameters:
configuration - The filename or URL of the XML configuration file.
Throws:
java.io.IOException

getConfiguration

public java.lang.String getConfiguration()

newHttpContext

protected HttpContext newHttpContext()
Create a new ServletHttpContext. Ths method is called by HttpServer to creat new contexts. Thus calls to addContext or getContext that result in a new Context being created will return an org.mortbay.jetty.servlet.ServletHttpContext instance.

Overrides:
newHttpContext in class HttpServer
Returns:
ServletHttpContext

newWebApplicationContext

protected WebApplicationContext newWebApplicationContext(java.lang.String webApp)
Create a new WebApplicationContext. Ths method is called by Server to creat new contexts for web applications. Thus calls to addWebApplication that result in a new Context being created will return an correct class instance. Derived class can override this method to create instance of its own class derived from WebApplicationContext in case it needs more functionality.

Parameters:
webApp - The Web application directory or WAR file.
Returns:
WebApplicationContext

addWebApplication

public WebApplicationContext addWebApplication(java.lang.String contextPathSpec,
                                               java.lang.String webApp)
                                        throws java.io.IOException
Add Web Application.

Parameters:
contextPathSpec - The context path spec. Which must be of the form / or /path/*
webApp - The Web application directory or WAR file.
Returns:
The WebApplicationContext
Throws:
java.io.IOException

addWebApplication

public WebApplicationContext addWebApplication(java.lang.String virtualHost,
                                               java.lang.String contextPathSpec,
                                               java.lang.String webApp)
                                        throws java.io.IOException
Add Web Application.

Parameters:
virtualHost - Virtual host name or null
contextPathSpec - The context path spec. Which must be of the form / or /path/*
webApp - The Web application directory or WAR file.
Returns:
The WebApplicationContext
Throws:
java.io.IOException

addWebApplications

public WebApplicationContext[] addWebApplications(java.lang.String webapps)
                                           throws java.io.IOException
Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If a webapp is called "root" it is added at "/".

Parameters:
webapps - Directory file name or URL to look for auto webapplication.
Throws:
java.io.IOException

addWebApplications

public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                  java.lang.String webapps)
                                           throws java.io.IOException
Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

Parameters:
host - Virtual host name or null
webapps - Directory file name or URL to look for auto webapplication.
Throws:
java.io.IOException

addWebApplications

public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                  java.lang.String webapps,
                                                  boolean extract)
                                           throws java.io.IOException
Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

Parameters:
host - Virtual host name or null
webapps - Directory file name or URL to look for auto webapplication.
extract - If true, extract war files
Throws:
java.io.IOException

addWebApplications

public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                  java.lang.String webapps,
                                                  java.lang.String defaults,
                                                  boolean extract)
                                           throws java.io.IOException
Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

Parameters:
host - Virtual host name or null
webapps - Directory file name or URL to look for auto webapplication.
defaults - The defaults xml filename or URL which is loaded before any in the web app. Must respect the web.dtd. If null the default defaults file is used. If the empty string, then no defaults file is used.
extract - If true, extract war files
Throws:
java.io.IOException

addWebApplications

public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                  java.lang.String webapps,
                                                  java.lang.String defaults,
                                                  boolean extract,
                                                  boolean java2CompliantClassLoader)
                                           throws java.io.IOException
Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

Parameters:
host - Virtual host name or null
webapps - Directory file name or URL to look for auto webapplication.
defaults - The defaults xml filename or URL which is loaded before any in the web app. Must respect the web.dtd. If null the default defaults file is used. If the empty string, then no defaults file is used.
extract - If true, extract war files
java2CompliantClassLoader - True if java2 compliance is applied to all webapplications
Throws:
java.io.IOException

setWebApplicationConfigurationClassNames

public void setWebApplicationConfigurationClassNames(java.lang.String[] configurationClassNames)
setWebApplicationConfigurationClasses Set up the list of classnames of WebApplicationContext.Configuration implementations that will be applied to configure every webapp. The list can be overridden by individual WebApplicationContexts.

Parameters:
configurationClasses -

getWebApplicationConfigurationClassNames

public java.lang.String[] getWebApplicationConfigurationClassNames()

main

public static void main(java.lang.String[] arg)


Copyright © 2004 Mortbay Consulting Pty. Ltd. All Rights Reserved.