Jetty has moved!
Jetty is a project at the Eclipse Foundation.
Homepage:http://www.eclipse.org/jetty
Downloads: http://download.eclipse.org/jetty/
Documentation:http://www.eclipse.org/jetty/documentation/current/
About:http://www.eclipse.org/jetty/about.php
Jetty Powered:http://www.eclipse.org/jetty/powered/
Contact the core Jetty developers at www.webtide.com
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Jetty.xml

The jetty.xml is the configuration file when you run the server java -jar server.jar etc/jetty.xml. However, you may create one with your own configuration and settings and explicitly specify it when you run the server ...etc/my_own_config.xml.

Once the server is running, the elements declared and placed in between its parameters are called and/or created.  Here's a more descriptive oveview of the jetty.xml:

All tags and elements declared inside jetty.xml will be pointing to this resource, configure.dtd. This only means tags and/or elements will be readable based from this data type file.

    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

The first instance called when you run the server is the Server class.  The org.mortbay.jetty.Server 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. 

    <Configure id="Server" class="org.mortbay.jetty.Server">

This class implements the pooling of threads.  It avoids the expense of thread creation by pooling threads after their run methods exit for reuse.  If the maximum pool size is reached, jobs wait for a free thread.  By default there is no maximum pool size.  Idle threads timeout and terminate until the minimum number of threads are running.

    <Set name="ThreadPool">
        <New class="org.mortbay.thread.BoundedThreadPool">
            <Set name="minThreads">10</Set>
            <Set name="maxThreads">100</Set>
        </New>
    </Set>

Implementations of this interface provide connectors for the HTTP protocol.

    <Set name="connectors">
        <Array type="org.mortbay.jetty.Connector">
    </Set>

    Classes defined under these are:

         org.mortbay.jetty.bio.SocketConnector - implements a traditional blocking IO and threading model.

         org.mortbay.jetty.nio.SelectChannelConnector - This connector uses efficient NIO buffers with a non blocking threading model. This is where we normally change the port numbers used for running the server; default is 8080.

As the Set element sets the handler class, it will handle all classes that have requests.

    <Set name="handlers">
        <Array type="org.mortbay.jetty.Handler">
    </Set>

If there are security authentications declared inside the web.xml of the web application, realms should be constructed also.   

    <Set name="UserRealms">
        <Array type="org.mortbay.jetty.security.UserRealm">
            <Item>
                <New class="org.mortbay.jetty.security.HashUserRealm">
                    <Set name="name">Test Realm</Set>
                    <Set name="config">etc/realm.properties</Set>
               </New>
            </Item>
        </Array>
    </Set>

You can check the whole configuration file by looking at the jetty.xml of Jetty6_installation/etc directory. 

  • No labels
Contact the core Jetty developers at www.webtide.com
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery