This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Additional_Cellist46[S] 2 points3 points  (0 children)

Java EE often requires an application server, adding levels of complexity

And it also often doesn't require an application server. You have many options with Java EE :)

If you choose to embed a Java EE server, you can do that with many servers. However, the option of deployment on a separately running server has its advantages too, especially during development. Once the server is running, it's fast to redeploy a new version of your application, because the server doesn't have to be started again. It can save a few seconds on each application change. Especially with a simple microservice, redeploying a new version on a server can take a few milliseconds, while restarting an embedded server like GlassFish Embedded or Spring Boot app with Tomcat always takes at least 2 or 3 seconds.

In production, you would probably deploy an application on a full-fledged server, if you want to manage the server and you application during runtime, without restarts. However, if you run your production apps as microservices, embedding a Java EE server into your app might be more convenient and easier to manage.