Self-Contained Microservices
Self-contained microservices look much similar to container-less. The only difference is that the JVM (or JRE, actually) or any other external frameworks and servers necessary for the application to run are included in the fat JAR file too. There are many ways to build such an all-inclusive JAR file.
Spring Boot, for example, provides a convenient GUI with checkbox list that allows you to select which parts of your Spring Boot application and the external tools you would like to package. Similarly, WildFly Swarm allows you to choose which parts of the Java EE components you would like to bundle along with your application. Alternatively, you can do it yourself using the javapackager
tool. It compiles and packages the application and JRE in the same JAR file (it can also be .exe
or .dmg
) for distribution. You can read about the tool on the Oracle website https://docs.oracle.com/javase/9/tools/javapackager.htm or you can just run the command javapackager
on a computer...