0

I am currently developing a Spring Boot Application that will run on a server as a RESTful WebService. The main goal of this service is to be the sole interface between separate database servers, and several client stations, all in the same network.

There will be no Web Applications, and no other Services on the server in which this application is deployed.

The whole infrastructure is under the same, secured, network, which is isolated from all external connections. No information will ever intentionally travel outside this environment. Knowing this, I'm unsure as to whether I should install an Apache Tomcat on the application server and build my project as a WAR, or if I should go with a far JAR and run via command line.

How is performance affected either way? Is there any special considerations I should have for either option?

I found these questions (1) (2) , but I dont think they really apply to my case, since I can decide in either direction and install necessary dependencies.

Any insight on this would be greatly appreciated.

Regards.

SonneRevsson
  • 75
  • 2
  • 8

1 Answers1

0

I would go with fat jar because of the deployment process. Depending on how you are doing releases and performing deployment on that environment, either from jenkins, gitlab, manually or something else, I think it is easier to just stop application, remove fat jar, copy new jar and start it again.

If you have separate tomcat , you might have configuration like context.xml server.xml version controlled somewhere in separate project. But with FAT jar all of that is within application.properties of the spring boot app.

tibortru
  • 692
  • 5
  • 26