Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Greg Wilkins a105be95e4 Issue #1637 Thread per HTTP/2 Connection
This fix simplifies the EWYK scheduler by factoring out the preallocated producer into a
ReservedThreadExecutor class.   A shared ReservedThreadExecutor can then be used by multiple
EWYK instances to avoid over allocation of threads.

Squashed commit of the following:

commit c435dc20e25bd274d69423be1be7b0565925f249
Merge: 58a5a9a 90e5b56
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 21 10:48:22 2017 +0200

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk3

commit 58a5a9a655ee1a72a66f54ac8c95d7c9d73afe85
Author: Simone Bordet <simone.bordet@gmail.com>
Date:   Wed Jun 14 15:56:43 2017 +0200

    Code cleanups.

commit 4e5296216b52948523572352cba391438ff6b494
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 14 07:34:58 2017 +0200

    refixed Producing to Reproducing

commit a1f8682f86d1f0803121162e3f14d7768286d3ed
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 14 07:26:29 2017 +0200

    fixed Producing to Reproducing

commit 9468932e062d2271d8dc1d43a78544757732fff5
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 16:33:44 2017 +0200

    fixed javadoc

commit 9d4941eb97638fec09b3fe34d423538d17943b6f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 16:05:27 2017 +0200

    Renamed Preallocated to ReservedThread

commit 6d3379ab64c6dcc2a7aa8ec7088afd77863816c2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 12:28:52 2017 +0200

    Added configuration in modules

commit 1bd1adea4682538e1546c2ae53f4c9340dafb3bb
Merge: 83418a9 6702248
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 10:09:29 2017 +0200

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk3

commit 83418a91320c8bfc54465ca02efdce0d2c874a0e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 10:08:35 2017 +0200

    javadoc

commit 62918fd39189fed3414fec4a7c8380c21e90a4b8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Sat Jun 10 00:04:06 2017 +0200

    Improved EatWhatYouKill implementation

    Simplified by abstracting out PreallocatedExecutor
    Removed invocation execution
    HTTP2 now uses a shared PreallocationExcecutor between connection
2017-08-08 09:13:44 -07:00
LICENSE-CONTRIBUTOR add cla-tbecker.txt 2012-07-17 21:37:33 +02:00
advisories Adding reference to patched versions of jetty-http jars 2015-02-25 16:10:06 -07:00
aggregates Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
apache-jsp Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
apache-jstl Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
examples Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-alpn Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-annotations Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-ant Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-bom update BOM to use ${project.version} 2017-08-08 09:13:26 -07:00
jetty-cdi Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-client Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-continuation Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-deploy Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-distribution Fix Typo 2017-08-08 09:13:38 -07:00
jetty-documentation Updating SSL documentation for clarity. 2017-08-08 09:13:42 -07:00
jetty-fcgi Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-gcloud Updating to version 9.3.20.v20170531 2017-08-08 09:07:35 -07:00
jetty-hazelcast modify module names after Jan review 2017-08-08 09:13:36 -07:00
jetty-home Issue #1600 2017-08-08 09:13:29 -07:00
jetty-http Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-http-spi Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-http2 Issue #1637 Thread per HTTP/2 Connection 2017-08-08 09:13:44 -07:00
jetty-infinispan Updating to version 9.3.20.v20170531 2017-08-08 09:07:35 -07:00
jetty-io Issue #1637 Thread per HTTP/2 Connection 2017-08-08 09:13:44 -07:00
jetty-jaas Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-jaspi Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-jmx Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-jndi Issue #1600 2017-08-08 09:13:29 -07:00
jetty-jsp Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-jspc-maven-plugin Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-maven-plugin Issue #1637 Thread per HTTP/2 Connection 2017-08-08 09:13:44 -07:00
jetty-memcached Updating to version 9.4.7-SNAPSHOT 2017-05-31 17:26:34 -07:00
jetty-monitor Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-nosql Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-osgi Issue ##1597 2017-08-08 09:13:18 -07:00
jetty-overlay-deployer Replace contraction with possesive 2017-01-26 19:26:50 -07:00
jetty-plus Issue #1600 2017-08-08 09:13:29 -07:00
jetty-proxy Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-quickstart Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-rewrite Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-runner Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-security Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-server Issue #1637 Thread per HTTP/2 Connection 2017-08-08 09:13:44 -07:00
jetty-servlet Issue #1618 Async dispatch encoded passed URI 2017-08-08 09:13:43 -07:00
jetty-servlets add general purpose header filters 2017-08-08 09:13:37 -07:00
jetty-spdy Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-spring Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-start Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-unixsocket Updating to version 9.4.7-SNAPSHOT 2017-05-31 17:26:34 -07:00
jetty-util Issue #1637 Thread per HTTP/2 Connection 2017-08-08 09:13:44 -07:00
jetty-util-ajax Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-webapp Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-websocket Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
jetty-xml Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
logos Adding logos 2016-07-08 08:45:26 -07:00
scripts Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-12-27 13:33:41 -07:00
tests Issue #1600 2017-08-08 09:13:29 -07:00
.gitattributes More fixes for Windows build 2013-11-04 16:50:18 -07:00
.gitignore Adding <c:catch> JSTL test cases 2015-07-23 16:11:16 -07:00
CONTRIBUTING.md Updating contribution instructions for security issues. 2017-02-06 17:18:03 -05:00
Jenkinsfile Making javadoc build stage be offline instead 2017-05-12 06:11:03 -07:00
KEYS.txt Updating gpg/pgp KEYS.txt 2016-11-16 07:58:39 -07:00
LICENSE-eplv10-aslv20.html 392237 renamed license file 2012-10-18 14:33:23 +11:00
NOTICE.txt Happy New Year 2017. 2017-01-19 19:26:41 +01:00
README.md Minor updates to README 2017-03-01 13:47:09 -07:00
VERSION.txt Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
header-template.txt Fixes #487 - JDK 9 build compatibility. 2016-06-06 21:28:51 +02:00
pom.xml add new module for hazelcast session manager 2017-08-08 09:13:28 -07:00

README.md

Eclipse Jetty Canonical Repository

This is the canonical repository for the Jetty project, feel free to fork and contribute now!

Submitting a patch or pull request?

Make sure you have an Eclipse Contributor Agreement (ECA) on file.

Project description

Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Documentation

Project documentation is available on the Jetty Eclipse website.

Building

To build, use:

  mvn clean install

The Jetty distribution will be built in jetty-distribution/target/distribution.

The first build may take a longer than expected as Maven downloads all the dependencies.

The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully.

It is possible to bypass tests by building with mvn -Dmaven.test.skip=true install but note that this will not produce some of the test jars that are leveraged in other places in the build.

Professional Services

Expert advice and production support are available through Webtide.com.