# Root Element

Element | Description | Class
--- | --- | ---
jetty | Creates an embedded Jetty web server with optional web application context | org.mortbay.jetty.xbean.JettyFactoryBean

# Element Summary

Element | Description | Class
--- | --- | ---
bioConnector | Creates a BIO based socket connector | org.mortbay.jetty.bio.SocketConnector
blockingNioConnector | Creates a blocking NIO based socket connector | org.mortbay.jetty.nio.BlockingChannelConnector
contextHandler | Creates a basic HTTP context | org.mortbay.jetty.handler.ContextHandler

contexts

ContextHandlerCollection. This {@link org.mortbay.jetty.handler.HandlerCollection} is creates a {@link org.mortbay.jetty.servlet.PathMap} to it's contained handlers based on the context path and virtual hosts of any contained {@link org.mortbay.jetty.handler.ContextHandler}s. The contexts do not need to be directly contained, only children of the contained handlers. Multiple contexts may have the same context path and they are called in order until one handles the request.

org.mortbay.jetty.handler.ContextHandlerCollection

defaultHandler | Default Handler. This handle will deal with unhandled requests in the server. For requests for favicon.ico, the Jetty icon is served. For reqests to '/' a 404 with a list of known contexts is served. For all other requests a normal 404 is served. TODO Implement OPTIONS and TRACE methods for the server. | org.mortbay.jetty.handler.DefaultHandler
handlerCollection | A collection of handlers. For each request, all handler are called, regardless of the response status or exceptions. | org.mortbay.jetty.handler.HandlerCollection
hotDeployer | Creates a hot deployer to watch a directory for changes at a configurable interval. | org.mortbay.jetty.deployer.ContextDeployer
jaasUserRealm | Creates a UserRealm suitable for use with JAAS | org.mortbay.jetty.plus.jaas.JAASUserRealm
jetty | Creates an embedded Jetty web server with optional web application context | org.mortbay.jetty.xbean.JettyFactoryBean

ncsaLog

This {@link RequestLog} implementation outputs logs in the pseudo-standard NCSA common log format. Configuration options allow a choice between the standard Common Log Format (as used in the 3 log format) and the Combined Log Format (single log format). This log format can be output by most web servers, and almost all web log analysis software can understand these formats.

org.mortbay.jetty.NCSARequestLog

nioConnector | Creates an NIO based socket connector | org.mortbay.jetty.nio.SelectChannelConnector
requestLogHandler | RequestLogHandler. This handler can be used to wrap an individual context for context logging. | org.mortbay.jetty.handler.RequestLogHandler
resourceHandler | Resource Handler. This handle will serve static content and handle If-Modified-Since headers. No caching is done. Requests that cannot be handled are let pass (Eg no 404's) | org.mortbay.jetty.handler.ResourceHandler
server | Creates an embedded Jetty web server | org.mortbay.jetty.Server
ssoJaasUserRealm | Creates a UserRealm suitable for use with JAAS w/ support of SSO | org.mortbay.jetty.plus.jaas.SSOJAASUserRealm
strictRoleCheckPolicy | Check only topmost role in stack of roles for user | org.mortbay.jetty.plus.jaas.StrictRoleCheckPolicy
webAppContext | Creates a servlet web application at a given context from a resource base | org.mortbay.jetty.webapp.WebAppContext

# Element Detail

## Element: bioConnector

## Element: blockingNioConnector

## Element: contextHandler

Attribute | Type | Description
--- | --- | ---
allowNullPathInfo | xs:boolean |
compactPath | xs:boolean |
contextPath | xs:string |
displayName | xs:string |
maxFormContentSize | xs:integer |
resourceBase | xs:string |
shutdown | xs:boolean | Set shutdown status. This field allows for graceful shutdown of a context. A started context may be put into non accepting state so that existing requests can complete, but no new requests are accepted.

Element | Type | Description
--- | --- | ---
attributes | <spring:bean/> |
baseResource | <spring:bean/> |
classLoader | <spring:bean/> |
connectorNames | (<spring:bean/>)* | Set the names of accepted connectors. Names are either "host:port" or a specific configured name for a connector.
errorHandler | <spring:bean/> |
eventListeners | (<spring:bean/>)* |
hosts | (<spring:bean/>)* | Get the hosts for the context.
initParams | <spring:bean/> |
mimeTypes | <spring:bean/> |
parent | <spring:bean/> |
server | server |
virtualHosts | (<spring:bean/>)* | Get the virtual hosts for the context. Only requests that have a matching host header or fully qualified URL will be passed to that context with a virtual host name. A context with no virtual host names or a null virtual host name is available to all requests that are not served by a context with a matching virtual host name.
welcomeFiles | (<spring:bean/>)* |

## Element: contexts

Attribute | Type | Description
--- | --- | ---
contextClass | xsd:string |

Element | Type | Description
--- | --- | ---
handlers | (<spring:bean/>)* |

## Element: defaultHandler

Attribute | Type | Description
--- | --- | ---
serveIcon | xs:boolean |

## Element: handlerCollection

Element | Type | Description
--- | --- | ---
handlers | (<spring:bean/>)* |
server | server |

## Element: hotDeployer

Attribute | Type | Description
--- | --- | ---
directory | xs:string |
recursive | xs:boolean |
scanInterval | xs:integer |

Element | Type | Description
--- | --- | ---
configurationDir | <spring:bean/> |
configurationManager | <spring:bean/> |
contexts | contexts | Associate with a {@link ContextHandlerCollection}.

## Element: jaasUserRealm

Attribute | Type | Description
--- | --- | ---
callbackHandlerClass | xs:string |
loginModuleName | xs:string | Set the name to use to index into the config file of LoginModules.
name | xs:string | Get the name of the realm.

Element | Type | Description
--- | --- | ---
roleCheckPolicy | <spring:bean/> |
roleClassNames | (<spring:bean/>)* |

## Element: jetty

Element | Type | Description
--- | --- | ---
deployers | <spring:bean/> |
hotDeployer | hotDeployer |

## Element: ncsaLog

Attribute | Type | Description
--- | --- | ---
append | xs:boolean |
extended | xs:boolean |
filename | xs:string |
filenameDateFormat | xs:string | Set the log file date format.
logCookies | xs:boolean |
logDateFormat | xs:string |
logLatency | xs:boolean |
logServer | xs:boolean |
logTimeZone | xs:string |
preferProxiedForAddress | xs:boolean |
retainDays | xs:integer |

Element | Type | Description
--- | --- | ---
ignorePaths | (<spring:bean/>)* |

## Element: nioConnector

Attribute | Type | Description
--- | --- | ---
delaySelectKeyUpdate | xs:boolean | Get delay select key update If true, the select set is not updated when a endpoint is dispatched for reading. The assumption is that the task will be short and thus will probably be complete before the select is tried again.
lowResourceMaxIdleTime | xs:integer | Set the period in ms that a connection is allowed to be idle when this there are more than {@link #getLowResourcesConnections()} connections. This allows the server to rapidly close idle connections in order to gracefully handle high load situations.
lowResourcesConnections | xs:long | Set the number of connections, which if exceeded places this manager in low resources state. This is not an exact measure as the connection count is averaged over the select sets.
lowResourcesMaxIdleTime | xs:long | Set the period in ms that a connection is allowed to be idle when this there are more than {@link #getLowResourcesConnections()} connections. This allows the server to rapidly close idle connections in order to gracefully handle high load situations.
maxIdleTime | xs:integer |

## Element: requestLogHandler

Element | Type | Description
--- | --- | ---
requestLog | <spring:bean/> |
server | server |

## Element: resourceHandler

Attribute | Type | Description
--- | --- | ---
cacheControl | xs:string |
resourceBase | xs:string |

Element | Type | Description
--- | --- | ---
baseResource | <spring:bean/> |
welcomeFiles | (<spring:bean/>)* |

## Element: server

Attribute | Type | Description
--- | --- | ---

gracefulShutdown

xs:integer

Set graceful shutdown timeout. If set, the {@link #doStop()} method will not immediately stop the server. Instead, all {@link Connector}s will be closed so that new connections will not be accepted and all handlers that implement {@link 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.

port | xs:integer |
sendDateHeader | xs:boolean |
sendServerVersion | xs:boolean |
stopAtShutdown | xs:boolean |

Element | Type | Description
--- | --- | ---
connectors | (<spring:bean/>)* | Set the connectors for this server. Each connector has this server set as it's ThreadPool and its Handler.
handlers | (<spring:bean/>)* |
sessionIdManager | <spring:bean/> |
threadPool | <spring:bean/> |
userRealms | (<spring:bean/>)* |

## Element: ssoJaasUserRealm

Element | Type | Description
--- | --- | ---
SSORealm | <spring:bean/> | Set the SSORealm. A SSORealm implementation may be set to enable support for SSO.

## Element: strictRoleCheckPolicy

## Element: webAppContext

Attribute | Type | Description
--- | --- | ---
contextPath | xs:string | The context path
copyWebDir | xs:boolean |
defaultsDescriptor | xs:string | The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xml
descriptor | xs:string |
distributable | xs:boolean |
extraClasspath | xs:string |
extractWAR | xs:boolean |
logUrlOnStart | xs:boolean | Sets whether or not the web app name and URL is logged on startup
overrideDescriptor | xs:string | The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml
parentLoaderPriority | xs:boolean |
war | xs:string |
webApp | xs:string | The URL or filename of the webapp directory or war file.

Element | Type | Description
--- | --- | ---
classLoader | <spring:bean/> |
configurationClasses | (<spring:bean/>)* |
configurations | (<spring:bean/>)* |
errorHandler | <spring:bean/> |
eventListeners | (<spring:bean/>)* |
parent | <spring:bean/> | The parent HandlerContainer.
permissions | <spring:bean/> |
resourceAliases | <spring:bean/> |
securityHandler | <spring:bean/> |
serverClasses | (<spring:bean/>)* |
servletHandler | <spring:bean/> |
sessionHandler | <spring:bean/> |
systemClasses | (<spring:bean/>)* |

tempDirectory

<spring:bean/>

Get a temporary directory in which to unpack the war etc etc. The algorithm for determining this is to check these alternatives in the order shown:

A. Try to use an explicit directory specifically for this webapp:

1. Iff an explicit directory is set for this webapp, use it. Do NOT set delete on exit.
2. Iff javax.servlet.context.tempdir context attribute is set for this webapp && exists && writeable, then use it. Do NOT set delete on exit.

B. Create a directory based on global settings. The new directory will be called "Jetty_"+host+"_"+port+"__"+context+"_"+virtualhost Work out where to create this directory:

1. Iff $(jetty.home)/work exists create the directory there. Do NOT set delete on exit. Do NOT delete contents if dir already exists.
2. Iff WEB-INF/work exists create the directory there. Do NOT set delete on exit. Do NOT delete contents if dir already exists.
3. Else create dir in $(java.io.tmpdir). Set delete on exit. Delete contents if dir already exists.