Jump to: navigation, search

Jetty/Howto/Configure Jetty

< Jetty‎ | Howto
Revision as of 20:20, 11 August 2010 by Boulay.intalio.com (Talk | contribs)



Introduction

Configuring jetty consists of building a network of connectors and handlers and providing their individual configurations. It is a combination of

  • HTTP server configuration (ports, thread pools, buffers, etc.)
  • Web container configuration (webapps deployment, security realms, JNDI etc.)
  • Web application (init parameters, non standard options, etc.)

See Jetty Architecture for a graphical representation of the interactions among connectors and handlers.

Configuring Jetty

Since Jetty components are simply Plain Old Java Objects (POJOs), you can accomplish this assembly and configuration of Jetty by a variety of techniques:

#In code

#Using Jetty XML

#Embedding Jetty

#Using the Jetty Maven Plugin

#Using Your Favorite Dependency Injection Framework: Spring, XBean

#Using Jetty WebApp and Context Deployers


In Code

See the examples in the Jetty 7 Latest Source XRef.

Using Jetty XML

The default configuration file for Jetty is jetty.xml, typically located at $JETTY_HOME/etc/jetty.xml. Usually jetty.xml configures these components:

  • the Server class (or subclass if extended) and global options
  • a ThreadPool (min & max thread)
  • connectors (ports, timeouts, buffer sizes, protocol, etc.)
  • the handler structure (default handlers and/or a contextHandlerCollections, etc.)
  • the deployment manager that scans for and deploys webapps and contexts
  • login services that provide authentication checking.
  • a request log

Not all Jetty features are configured in jetty.xml. There are several optional configuration files that share the same format as jetty.xml and, if specified, concatenate to it. These configuration files are also stored in $JETTY_HOME/etc/, and examples of them are in svn. start.jar selects the configuration files to use. jetty.xml usage describes the process of merging configuration files.

With Jetty XML - dependency injection style XML format. Jetty XML used with jetty.xml and other files

Embedding Jetty

Embedded Jetty

Using the Jetty Maven Plugin

Jetty maven plugin

Using Your Favorite Dependency Injection Framework: Spring, XBean

Configuring Jetty with Spring

Spring XML

Configuring Jetty with XBean

Using Jetty WebApp and Context Deployers

WebApp and Context Deployers

More

For more configuration references, see the Jetty Configuration Reference pages.

Finally

Because Jetty configuration can be considered as calling setters on a collection of POJOs, regardless of the actual method used, the apidocs are the ultimate resource for configuration.