What is the Jetty Application Server?

The Jetty application server, often referred to simply as Jetty, is a popular open-source web server and servlet container developed by the Eclipse Foundation. It is written in Java and provides a lightweight and flexible platform for hosting Java web applications. Many popular Java-based frameworks and platforms, such as Apache Maven, Eclipse IDE, and Google's Android development tools, use Jetty as their embedded web server.

Jetty is known for its simplicity, high performance, and low resource consumption, making it suitable for various types of applications, from small-scale projects to large enterprise systems. It supports the Java Servlet API, which allows developers to create dynamic web content using Java.

In addition to serving static and dynamic web content, Jetty can also be used as an application server to deploy and run Java web applications. It provides features such as session management, security mechanisms, and support for JavaServer Pages (JSP), JavaServer Faces (JSF), and other Java web technologies.

The key features of Jetty

There are many features of Jetty that make it a popular choice for hosting Java web applications:

  • Lightweight and High Performance: Its lightweight design means that it consumes less resources than other application servers. Start up time is lower.
  • Asynchronous and Non-Blocking I/O: Jetty utilizes asynchronous and non-blocking I/O, which enables it to handle a large number of concurrent requests with minimal resource consumption. This feature is especially beneficial for applications that require high scalability and responsiveness.
  • Embeddable: Jetty is easy to package and distribute.
  • Scalability and Load Balancing: Jetty supports clustering and load balancing, allowing for the distribution of incoming requests across multiple server instances. This helps improve the application's scalability and provides fault tolerance.

Are the built-in monitoring capabilities of Jetty sufficient?

From the built-in monitoring capabilities, you can understand the usage of the Jetty application server and identify bottlenecks within the server. However, many enterprise deploying Jetty are looking for more comprehensive end-to-end monitoring capabilities. Key requirements include:

Only with such comprehensive insight can IT admins answer today’s toughest question “Why is my application slow?”.

What is the Jetty Application Server?

Since Jetty runs on a Java virtual machine, it is essential to monitor the JVM and its internals in-depth. Performance of the JVM garbage collector, usage of the JVM’s heap memory, threads running in the JVM are some of the key metrics to collect. Jetty exposes key metrics about the application server via Java Management Extensions interfaces so monitoring tools can track the application server’s performance. Jetty application server logs are also a great source of metrics. Access logging must be turned on for this. To get greater insights into applications hosted on Jetty, distributed transaction tracing can be implemented using tools like eG Enterprise.

Learn more about the converged application and infrastructure monitoring approach that eG Enterprise uses: