Generated by GPT-5-mini| Eclipse Jetty | |
|---|---|
| Name | Eclipse Jetty |
| Developer | Eclipse Foundation |
| Initial release | 1995 (as Jetty); 2010 (Eclipse project) |
| Programming language | Java |
| Repository | Git |
| License | Eclipse Public License |
| Website | eclipse.org/jetty |
Eclipse Jetty is an open-source Java HTTP server, HTTP/2 server, servlet container, and web container maintained by the Eclipse Foundation. It serves as an embeddable runtime for web frameworks, microservices, and application servers, supporting standards such as Jakarta Servlet, WebSocket, and HTTP/2. Jetty is used in projects ranging from cloud platforms to developer tools, and integrates with a wide ecosystem of Java libraries and platform services.
Jetty originated in 1995 as a lightweight web server and servlet container developed by Mort Bay Consulting; its lineage intersects with projects and organizations such as Apache HTTP Server, Tomcat (software), Netty (software), GlassFish, JBoss, Sun Microsystems, and Oracle Corporation. The project migrated through corporate custodianship and community stewardship, involving contributors associated with Eclipse Foundation, Google, Red Hat, IBM, and Spring Framework. Major milestones parallel releases of Java Platform, Standard Edition and standards set by Eclipse Foundation and Jakarta EE (formerly Java Community Process artifacts), with periodic adoption by initiatives like Apache Maven, GitHub, Docker, and Kubernetes. Jetty’s timeline crosses with events such as the rise of AJAX, the emergence of REST (Representational State Transfer), and the proliferation of microservices in the Cloud Native Computing Foundation era.
Jetty’s architecture centers on an asynchronous, non-blocking I/O reactor influenced by patterns from Reactor pattern adopters and projects like Netty (software), Grizzly (web server), Vert.x, and Akka. Core components include the HTTP connector, servlet container implementing Jakarta Servlet, session management, handler stacks, and the TLS/SSL layer interoperable with OpenSSL, Bouncy Castle, and Java Secure Socket Extension. Integrations include deployment descriptors compatible with Apache Maven, build tooling such as Gradle, IDEs like Eclipse (IDE), IntelliJ IDEA, and NetBeans, and CI/CD pipelines using Jenkins, GitLab CI, Travis CI, and CircleCI. Jetty works with authentication and authorization providers aligned with LDAP, OAuth 2.0, OpenID Connect, and identity platforms including Keycloak and Okta.
Jetty implements HTTP/1.1 and HTTP/2, WebSocket APIs, Servlet APIs, SPDY-era optimizations, and asynchronous request processing, paralleling capabilities found in NGINX, HAProxy, Caddy (web server), and Lighttpd. Performance characteristics are tuned for low-latency, high-concurrency workloads similar to benchmarks involving TechEmpower Framework Benchmarks participants such as Spring Boot, Dropwizard, Micronaut, and Quarkus. Jetty’s resource model supports containerization with Docker, orchestration via Kubernetes, and observability through Prometheus, Grafana, Zipkin (software), and Jaeger (software). It has been profiled with tools like YourKit Java Profiler, VisualVM, and JProfiler (company), and used in high-throughput systems operated by companies like Twitter, Atlassian, Hadoop (software), and Elastic (company) stacks.
Jetty is embeddable in JVM applications and integrates into platforms such as Spring Framework, Dropwizard, Apache Camel, and OSGi runtime environments like Eclipse Equinox. Deployment patterns include standalone servers, embedded libraries inside Apache TomEE-style runtimes, and containerized images orchestrated by Kubernetes with networking via Istio or Linkerd. CI/CD integrations leverage Jenkins, GitHub Actions, Azure DevOps, and AWS CodePipeline for automated build-and-deploy workflows. Cloud deployments target providers like Amazon Web Services, Google Cloud Platform, Microsoft Azure, and Heroku, often using service meshes, load balancers such as AWS ELB, and CDNs like Cloudflare or Akamai.
Configuration uses XML and programmatic APIs, compatible with tools like Apache Maven, Gradle, and configuration management systems including Ansible, Puppet, and Chef. Runtime management can be performed via JMX with standards defined by Java Management Extensions, and logging integrates with Log4j, SLF4J, Logback (software), and observability stacks like OpenTelemetry. Security configurations reference cryptographic providers such as Bouncy Castle and key management systems like HashiCorp Vault. Administrators manage deployments alongside orchestration systems like Kubernetes and monitoring platforms including Datadog, New Relic, and Splunk.
Jetty is used as an embedded server within frameworks like Spring Boot, Dropwizard, Micronaut, and Play Framework integrations, and in products from Atlassian, Eclipse Che, and developer tools such as IntelliJ IDEA and Eclipse Theia. It powers APIs in organizations adopting REST (Representational State Transfer), GraphQL, and event-driven architectures connected to Apache Kafka, RabbitMQ, and ActiveMQ. Jetty is also used in edge and IoT gateways alongside MQTT brokers, in content delivery scenarios with Varnish, and within continuous integration servers including Jenkins and TeamCity (software).
Security features include TLS/SSL, support for OAuth 2.0, OpenID Connect, and integration with identity providers like Keycloak and Okta. Jetty participates in secure coding and compliance workflows relevant to standards such as PCI DSS, GDPR, and organizational policies derived from entities like NIST and ISO/IEC 27001. Vulnerability management relies on CVE tracking coordinated with ecosystems around Maven Central and OSS Index and engages with vendor advisories from Oracle Corporation, Red Hat, and security vendors including Snyk and GitHub Security Lab.
Category:Java (programming language) web servers