explaingit

undertow-io/undertow

Analysis updated 2026-07-03

3,749JavaAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Undertow is a high-performance Java web server with non-blocking I/O, full Servlet support, and WebSocket handling, it powers Red Hat WildFly under the hood.

Mindmap

mindmap
  root((Undertow))
    Core components
      Non-blocking HTTP server
      Blocking mode option
      Servlet 4 5 6
      WebSocket JSR-356
    Performance
      Non-blocking I/O
      Low thread overhead
      High concurrency
    Usage
      Embedded in Java apps
      WildFly foundation
      Standalone server
    Community
      Red Hat project
      Zulip chat
      Google Group
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Embed Undertow as the HTTP server inside a Java application to handle thousands of concurrent connections efficiently.

USE CASE 2

Run existing Java Servlet-based web applications on Undertow instead of Tomcat or Jetty.

USE CASE 3

Build a real-time feature using WebSocket support to keep browser and server in a persistent two-way connection.

USE CASE 4

Use Undertow inside WildFly or as a standalone server for microservices that need non-blocking performance.

What is it built with?

Java

How does it compare?

undertow-io/undertowjtablesaw/tablesawapache/tika
Stars3,7493,7513,746
LanguageJavaJavaJava
Setup difficultymoderateeasyeasy
Complexity4/52/52/5
Audiencedeveloperdatadeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Java knowledge and Maven/Gradle setup, no external infrastructure needed beyond the JVM.

Apache 2.0, use freely in commercial and open-source projects.

In plain English

Undertow is a Java web server built around non-blocking input/output, which is a design approach that lets the server handle many simultaneous connections without dedicating a separate thread to each one. That matters for performance: traditional blocking servers tie up a thread while waiting for data to arrive from a client, whereas a non-blocking design lets the same thread switch to other work while it waits. The project is made up of three main components. The core HTTP server can operate in both blocking and non-blocking modes, giving developers the option to write straightforward sequential request-handling code or to use the more efficient but more complex non-blocking style depending on their needs. The second component is a Servlet implementation that covers versions 4.0, 5.0, and 6.0 of the Servlet specification, which is the standard API that Java web applications have used for decades to define how HTTP requests are processed. The third component is a WebSocket implementation that follows the JSR-356 and Jakarta 2.0 specifications, covering the protocol that allows a browser and server to hold a persistent two-way connection open for real-time communication. Undertow is a Red Hat project and serves as the web server underneath WildFly, Red Hat's application server. Development discussion happens on a Google Group and a Zulip chat stream. Bug reports go through Red Hat's issue tracker. Security-relevant bugs have a dedicated reporting path: email to Red Hat's security team rather than the public issue tracker, to avoid disclosing vulnerabilities before a fix is ready.

Copy-paste prompts

Prompt 1
Show me a minimal Java example of embedding Undertow as an HTTP server with a simple request handler.
Prompt 2
How do I deploy a Java Servlet application on Undertow without using WildFly?
Prompt 3
How does Undertow's non-blocking I/O differ from a traditional blocking server like Tomcat, and when should I choose it?
Prompt 4
Show me how to add a WebSocket endpoint to an Undertow server using the JSR-356 API.
Prompt 5
How do I configure Undertow for production, thread counts, buffer sizes, and connection limits?

Frequently asked questions

What is undertow?

Undertow is a high-performance Java web server with non-blocking I/O, full Servlet support, and WebSocket handling, it powers Red Hat WildFly under the hood.

What language is undertow written in?

Mainly Java. The stack also includes Java.

What license does undertow use?

Apache 2.0, use freely in commercial and open-source projects.

How hard is undertow to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is undertow for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub undertow-io on gitmyhub

Verify against the repo before relying on details.