Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Simone Bordet dab4fe60d3
Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseL… (#8585)
* Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseListener.

The issue was that HttpReceiverOverHTTP2.ContentNotifier.offer() was racy,
as a network thread could have offered a DATA frame, but not yet called
process() -- yet an application thread could have stolen the DATA frame
completed the response and started another response, causing the network
thread to interact with the wrong response.

The implementation has been changed so that HttpReceiverOverHTTP2.ContentNotifier
does not have a queue anymore and it demands DATA frames to the Stream
only when the application demands more -- a simpler model that just forwards
the demand.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-15 10:18:36 +02:00
.github add a step to push tag to a fork (#8577) 2022-09-15 07:14:48 +10:00
.mvn Enable errorprone and spotbugs for java 17 (#7604) 2022-02-17 10:12:01 +10:00
apache-jsp Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
apache-jstl Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
build-resources Bump maven-remote-resources-plugin from 1.7.0 to 3.0.0 2022-08-01 04:22:49 +00:00
demos Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
documentation Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
javadoc simplify pom by using simple property rather than xml fragment (#7580) 2022-07-14 09:42:28 +10:00
jetty-alpn Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-annotations Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-ant Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-bom remove infinispan-remote from bom as it doesn't have to be here (#8554) 2022-09-07 13:46:59 +10:00
jetty-cdi Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-client Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-deploy changes from review PR #8315 2022-07-27 10:21:35 +10:00
jetty-fcgi Combined ByteBufferPool (#8171) 2022-07-04 10:38:30 +10:00
jetty-gcloud Bump google-cloud-datastore from 2.10.1 to 2.11.0 2022-09-01 02:04:33 +00:00
jetty-hazelcast Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-home Bump slf4j to 2.0.0-beta1 and logback to 1.3.0-beta0 (#8467) 2022-08-16 06:58:48 -05:00
jetty-http Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-http-spi Fixes #8007 - Support Loom. (#8360) 2022-08-10 14:31:04 +02:00
jetty-http2 Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseL… (#8585) 2022-09-15 10:18:36 +02:00
jetty-http3 Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseL… (#8585) 2022-09-15 10:18:36 +02:00
jetty-infinispan Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-io Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-jaas Bump apache.directory.api.version from 2.1.0 to 2.1.2 2022-09-01 02:05:36 +00:00
jetty-jaspi Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-jmx Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-jndi Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-jspc-maven-plugin Add jetty maven plugin ITs as part of code coverage as we do it :) (#7962) 2022-07-14 07:19:45 +10:00
jetty-keystore add testing for KeystoreGenerator 2022-08-23 13:49:35 +10:00
jetty-maven-plugin add a configuration field to MavenServerConnector to be able to force reUsePort (#7963) 2022-08-01 14:42:10 +10:00
jetty-memcached Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-nosql Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-openid Issue #8216 - fix broken test OpenIdAuthenticationTest 2022-07-13 15:28:21 +10:00
jetty-osgi remove some unused plugins from poms (#8534) 2022-09-02 14:25:46 +10:00
jetty-p2 Bump tycho-p2-repository-plugin from 2.7.4 to 2.7.5 2022-09-08 10:37:58 +00:00
jetty-plus Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-proxy Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-quic Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-quickstart Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-rewrite Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-runner Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-security Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-server Issue #8578 - Changes from review 2022-09-12 09:55:14 -05:00
jetty-servlet Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-servlets Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-slf4j-impl Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-start Issue #8222 - Addressing NPE with JvmArgs and non-existent modules. (#8223) 2022-07-01 16:08:52 -05:00
jetty-unixdomain-server Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-unixsocket Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
jetty-util Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-util-ajax Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-webapp Issue #7833 - Chunked Transfer-Encoding and HEAD response test (#8219) (#8226) 2022-06-30 06:48:51 -05:00
jetty-websocket Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
jetty-xml Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194) 2022-06-22 16:24:48 -05:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
scripts Fixing release script 2021-10-06 14:23:15 -05:00
tests Fixes #8532 - Review System.nanoTime() usages. (#8535) 2022-09-06 09:30:02 +02:00
.gitattributes Updating attributes 2020-09-25 09:48:38 -05:00
.gitignore Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3550-QueuedThreadPool-cleanup 2019-04-25 06:53:07 +02:00
.lgtm.yml Create .lgtm.yml 2021-01-25 15:58:41 -05:00
CODE_COVERAGE.md http-spi test improvement (#62) 2016-05-04 10:56:56 +10:00
CONTRIBUTING.md Testing gpg signature setup 2019-09-25 12:42:32 -05:00
Jenkinsfile fix exclusion of groups stress and slow (#8399) 2022-08-02 11:57:47 +10:00
Jenkinsfile-autobahn Run WebSocket Autobahn test for all Jetty, Javax and Core APIs (#7430) 2022-01-31 15:29:41 +10:00
Jmh_Jenkinsfile Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-07-09 12:57:26 +10:00
KEYS.txt add GPG key and developer tag 2020-11-04 17:25:11 +01:00
LICENSE Issue #5784 - Fixing LICENSE file 2020-12-10 15:45:35 -06:00
NOTICE.txt Issue #3578 - Adopt EPL-2.0 for Jetty-10. 2020-01-09 20:10:19 +01:00
README.md Simple Example in README (#6727) 2021-09-09 11:32:16 +10:00
SECURITY.md Update security handling bugzilla to gitlab (#8104) 2022-06-03 06:08:02 -05:00
VERSION.txt Updating for published CVES (#8274) 2022-07-08 16:50:04 -05:00
header-template.txt Issue #5784 - Cleaning up source header template 2020-12-10 15:46:28 -06:00
pom.xml Merge pull request #8569 from eclipse/dependabot/maven/jetty-10.0.x/com.fasterxml.jackson.core-jackson-databind-2.13.4 2022-09-09 00:44:37 +00: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.

Webapp Example

$ mkdir base && cd base
$ java -jar $JETTY_HOME/start.jar --add-modules=http,deploy
$ cp ~/src/myproj/target/mywebapp.war webapps
$ java -jar $JETTY_HOME/start.jar 

Embedded Example

Server server = new Server(port);
ServletContextHandler context = new ServletContextHandler(server, "/");
context.addServlet(MyServlet.class, "/*");
server.start();

Documentation

Project documentation is available on the Jetty Eclipse website.

Building

To build, use:

  mvn clean install

Eclipse Jetty will be built in jetty-home/target/jetty-home.

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 clean install -DskipTests.

Professional Services

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