When starting a new project, what factors should be considered when deciding between using a full application server like Wildfly or just a servlet engine like Tomcat? Is it better to go with a standalone application server or to build out functionalities such as authentication on a servlet engine?
3 Answers
After trying out various setups, I find Docker to be unbeatable for deploying Java apps. I usually start with Spring Initializer and ensure everything's dockerized from the get-go before working on database schemas and implementing features like authentication.
I can't think of any compelling technical reasons to opt for a full standalone server. Spring Boot or Quarkus seem to be much more aligned with what’s needed today if you're working within the Jakarta ecosystem, plus they streamline a lot of the setup.
Honestly, I'd suggest skipping WAR or EAR files altogether. I focus on running apps directly with `java -jar theapp.jar`. It's much easier to control the environment and resources, particularly with modern frameworks that come with built-in web servers. For most new developments, I think it’s better to manage everything within a single app to avoid the complexities of traditional app servers.

I see your point! And isn't Spring Boot just running on Tomcat in the background anyway?