Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Greg Wilkins 4dbf8a3a9e
Issue #4495 ReservedThreadExecutor optimise (#4499)
* Issue #4495 ReservedThreadExecutor optimise

Use synchronousQueue for task handoff

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 ReservedThreadExecutor optimise

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 ReservedThreadExecutor optimise

Use a linked queue rather than a deque(as a stack).  This should be simpler, better optimised and less contended.  Idling has been simplified so that a reserve thread is always dropped every idle period.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 ReservedThreadExecutor optimise

reverted RTE and added a JMH benchmark

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* More variants and longer tests

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Added LQ

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* removed SQ2

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 ReservedThreadExecutor optimise

Replaced real implementation with SQ

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 RTE optimise

Removed alternate implementations

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4495 RTE optimise

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-31 19:54:44 +01:00
.github Fixing typo in stalebot message 2019-11-20 09:58:44 -06: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.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
apache-jsp Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
apache-jstl Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
build-resources Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
examples Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-alpn Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-30 10:17:10 +01:00
jetty-annotations Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-ant Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-bom Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-cdi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-client Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-continuation Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-deploy Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-distribution Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-documentation Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-30 10:17:10 +01:00
jetty-fcgi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-gcloud Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-hazelcast Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-home Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-http Issue #4247 use context default for samesite cookie attribute (#4512) 2020-01-29 11:05:35 +01:00
jetty-http-spi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-http2 Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-infinispan Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-io Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-jaas Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-jaspi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-jmh Issue #4495 ReservedThreadExecutor optimise (#4499) 2020-01-31 19:54:44 +01:00
jetty-jmx Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-jndi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-jspc-maven-plugin Merge pull request #3364 from eclipse/jetty-9.4.x_maven_plugin_site 2020-01-31 07:14:24 -06:00
jetty-maven-plugin Merge pull request #3364 from eclipse/jetty-9.4.x_maven_plugin_site 2020-01-31 07:14:24 -06:00
jetty-memcached Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-nosql Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-openid Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-osgi Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-overlay-deployer Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-07 16:51:25 +01:00
jetty-plus Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-proxy Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-quickstart Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-rewrite Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-runner Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-security Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-server Issue #4529 Servlet in error page (#4530) 2020-01-31 19:53:05 +01:00
jetty-servlet Issue #4533 Hard close from Dispatcher (#4534) 2020-01-31 11:55:14 +01:00
jetty-servlets Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-spring Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-start Replaced references to branch 'master' with 'jetty-9.3.x'. 2020-01-30 11:32:37 +01:00
jetty-unixsocket Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-util Issue #4495 ReservedThreadExecutor optimise (#4499) 2020-01-31 19:54:44 +01:00
jetty-util-ajax Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-webapp Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
jetty-websocket Merge pull request #4486 from eclipse/jetty-9.4.x-4475-WebSocketStreamMessageOrder 2020-01-24 10:01:22 +11:00
jetty-xml Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
logos Adding logos 2016-07-08 08:45:26 -07:00
scripts Release script should commit only what it created. 2019-10-24 06:34:50 -05:00
tests Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
.gitattributes Adding mod & adoc to gitattributes 2018-08-02 08:57:58 -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
CONTRIBUTING.md Testing gpg signature setup 2019-09-25 12:42:32 -05:00
Jenkinsfile Skipping pmd/checkstyle on javadoc stage 2020-01-15 08:38:49 -06:00
Jmh_Jenkinsfile a bit more time to run all jmh tests 2019-07-09 12:56:53 +10:00
KEYS.txt Fixing typo in email address 2019-09-10 03:57:58 -05:00
LICENSE Correcting header text mentioning EPL 2.0, we are not EPL 2.0 yet, we are still EPL 1.0 2019-04-22 09:51:29 -05:00
NOTICE.txt Update Notice (#4395) 2019-12-17 07:40:19 +11:00
README.md Updating http to https 2019-11-05 16:23:49 -06:00
VERSION.txt Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
header-template-doc.txt Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2020-01-07 16:35:05 +01:00
header-template-java.txt Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2020-01-07 16:35:05 +01:00
pom.xml Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-30 10:17:10 +01: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 clean install -DskipTests.

Professional Services

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