The short version
- You have a WAR with servlets, JSP or Spring MVC: use Tomcat.
- You have a Spring Boot, Quarkus or Micronaut app: run the JAR. It has its own server inside.
- You need EJB, JMS, JTA or the full Jakarta EE platform: use WildFly or Payara.
- You build container images: use Docker.
Side by side
| Tomcat | Spring Boot | WildFly | Payara | |
|---|---|---|---|---|
| What it is | Servlet container | Framework with embedded server | Jakarta EE server | Jakarta EE server |
| Packaging | WAR | Executable JAR | WAR or EAR | WAR or EAR |
| Idle memory | Low | Low to moderate | Moderate to high | Moderate to high |
| Startup | Fast | Moderate | Slower | Slower |
| EJB, JMS | No | No (use libraries) | Yes | Yes |
| Admin | Config files, Manager app | Properties and env vars | Web console, CLI | Admin console, asadmin |
| Several apps per server | Yes | One JVM per app | Yes | Yes |
Tomcat
Small, fast and well understood. It runs servlets and JSP and nothing more. You add whatever libraries you need into the WAR. It is the right choice for most traditional web applications.
Spring Boot and other embedded frameworks
The server is part of the application. You deploy one file and run it with java -jar. The same approach is used by Quarkus and Micronaut. It is the default for new projects and for microservices.
WildFly
A complete Jakarta EE implementation with a good administration model. Choose it when you need the platform APIs, or when your application was written for JBoss.
Payara
A complete Jakarta EE implementation derived from GlassFish. Choose it for applications developed against GlassFish, or when you prefer its tooling.
Which uses less memory
Tomcat and the embedded frameworks idle in a few hundred megabytes. WildFly and Payara take 500 MB and more before your application loads. That difference is what moves you from a 2 GB server to a 4 GB or 8 GB one. See how much RAM a Java app needs.
Can I switch later
Moving from a WAR on Tomcat to Spring Boot is common and straightforward. Moving off a full Jakarta EE server is harder if you rely on EJB and JMS. Choose the platform your code already targets.
Last updated October 29, 2026.