Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Simone Bordet fa166d09c5
Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks
Moved the call to destroy the CyclicTimeouts to a close() call that is always called.

Fixed NPE in ManagedSelector.getTotalKeys().

Fixed exception handling to avoid infinite recursion in SslConnection.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-10-26 16:49:52 +02:00
.github Update details on how to include dependabot PRs in a release (#10659) 2023-10-05 02:12:23 +02:00
.mvn Enable errorprone and spotbugs for java 17 (#7604) 2022-02-17 10:12:01 +10:00
apache-jsp Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
apache-jstl Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
build-resources Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
demos remove usage of PushCacheFilter from demo-jetty-webapp 2023-10-24 11:15:28 +11:00
documentation Merge pull request #10755 from jetty/jetty-10.0.x-pushCacheFilter 2023-10-25 16:32:32 +11:00
javadoc Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-alpn Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-annotations Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-ant Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-bom Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-cdi Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-client Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks 2023-10-26 16:49:52 +02:00
jetty-deploy Add configuration to allow deferring the initial Deployment until after Server is started (#10667) 2023-10-17 06:25:01 -05:00
jetty-fcgi Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks 2023-10-26 16:49:52 +02:00
jetty-gcloud Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-hazelcast Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-home Updates to jetty.sh and testing to reduce failures 2023-10-25 20:20:50 -05:00
jetty-http Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-http-spi Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-http2 Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks 2023-10-26 16:49:52 +02:00
jetty-http3 #10759 fix client setting MAX_FIELD_SECTION_SIZE to check its max value against H3 config setting maxRequestHeadersSize 2023-10-20 17:14:37 +02:00
jetty-infinispan Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-io Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks 2023-10-26 16:49:52 +02:00
jetty-jaas Bump apache.directory.api.version from 2.1.4 to 2.1.5 2023-10-12 17:17:15 +00:00
jetty-jaspi Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-jmx Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-jndi Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-jspc-maven-plugin Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-keystore Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-maven-plugin Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-memcached Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-nosql Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-openid Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-osgi Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-p2 Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-plus Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-proxy Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-quic #10519 do not close the flusher to avoid an ISE when iterating it during idle timeout 2023-10-25 10:12:20 +02:00
jetty-quickstart Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-rewrite Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-runner Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-security Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-server Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-servlet Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-servlets Merge pull request #10755 from jetty/jetty-10.0.x-pushCacheFilter 2023-10-25 16:32:32 +11:00
jetty-slf4j-impl Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-start Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-unixdomain-server Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-unixsocket Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-util Merge pull request #10675 from OlexYarm/jetty-10.0.x 2023-10-18 15:34:50 +11:00
jetty-util-ajax Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-webapp Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-websocket Updating to version 10.0.18-SNAPSHOT 2023-10-09 13:32:28 -05:00
jetty-xml Address build/test failure against bad entities. (#10742) 2023-10-17 03:48:28 +02:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
scripts Updating to version 10.0.17 2023-10-09 13:21:53 -05:00
tests Fixes #10786 - TLS handshake failures leak HttpConnection.RequestTimeouts tasks 2023-10-26 16:49:52 +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
CODE_OF_CONDUCT.md Fixes #10107 (#10109) 2023-07-14 13:43:40 -05:00
CONTRIBUTING.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
Jenkinsfile Issue #10606 - Bump build to JDK 21 (#10607) 2023-09-28 16:19:36 -05:00
Jenkinsfile-autobahn Update Jenkinsfile-autobahn to not use not anymore available container (#10001) 2023-08-15 07:11:26 +02:00
Jmh_Jenkinsfile Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-07-09 12:57:26 +10:00
KEYS.txt Updated GPG key 2023-10-10 17:03:50 +02:00
LICENSE Issue #5784 - Fixing LICENSE file 2020-12-10 15:45:35 -06:00
NOTICE.txt Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
README.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
SECURITY.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
VERSION.txt Updating for CVEs 2023-10-10 07:37:58 -05:00
header-template.txt Happy no year 2023-02-15 15:22:32 +11:00
pom.xml Merge pull request #10721 from jetty/dependabot/maven/jetty-10.0.x/org.testcontainers-testcontainers-bom-1.19.1 2023-10-12 14:44:48 -05: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

Apache Maven 3.8.0 and OpenJDK requirements:

Branch Maven Version Minimum JDK Recommended JDK
jetty-10.0.x Maven 3.8.6+ OpenJDK 11 OpenJDK 17 (for optional loom and http/3 support)
jetty-11.0.x Maven 3.8.6+ OpenJDK 11 OpenJDK 17 (for optional loom and http/3 support)
jetty-12.0.x Maven 3.8.6+ OpenJDK 17 OpenJDK 17

Full Build with All Tests:

mvn clean install

Fast Build if you need jars and distribution (not running tests, checkstyle, enforcer, license check):

mvn -Pfast clean install

Optional build tools:

  • graphviz - used by asciidoctor in the jetty-documentation build to produce various graphs
  • Docker - used to run some integration tests for testing third party integrations

Once the build is complete, you can find the built Jetty Maven artifacts in your Maven local repository. Along with the following locations of note:

Branches Location Description
all jetty-home/target/jetty-home-<ver>.tar.gz The Jetty Home standalone tarball
jetty-10.0.x jetty-runner/target/jetty-runner-<ver>.jar The Jetty Runner uber jar
jetty-11.0.x jetty-runner/target/jetty-runner-<ver>.jar The Jetty Runner uber jar
jetty-12.0.x jetty-ee10/jetty-ee10-runner/target/jetty-ee10-runner-<ver>.jar The Jetty Runner uber jar for ee10/Servlet 6 (jakarta.servlet) webapps
jetty-12.0.x jetty-ee9/jetty-ee9-runner/target/jetty-ee9-runner-<ver>.jar The Jetty Runner uber jar for ee9/Servlet 5 (jakarta.servlet) webapps
jetty-12.0.x jetty-ee8/jetty-ee8-runner/target/jetty-ee8-runner-<ver>.jar The Jetty Runner uber jar for ee8/Servlet 4 (javax.servlet) webapps

Note: 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 (check your ulimit -n value).

Professional Services

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