Spring Boot Thin Jar Builder for Running Java Microservices

8

Today we’d like to continue the topic about building microservices and move from Fat (Uber) Jar to Thin Jar for Spring Boot projects. Thin Jar represents a compiled and packaged application code (business logic) of the project together with the third party libraries it depends on. Compared to Fat, it does not contain application server run-time by default, so the size of a Thin archive is much smaller. The run-time and dependencies are automatically downloaded during the first launch and stored locally in ~/.m2/repository.

To showcase the process of building Thin Jar for running microservice architecture, we’ll use a pre-configured package of Maven and popular Spring Boot framework inside Java Engine.

1701-1-thin-jar-inside-java-engine

Installation of Spring Boot Thin Jar Builder

Get started by accessing Jelastic dashboard. Find the Spring Boot Thin Jar Builder in the Marketplace and click Install.

1701-1-install-spring-boot-thin-jar

Or you can Import the required manifest from GitHub using the link:

https://github.com/jelastic-jps/spring-boot/blob/master/microservice-thin-jar/manifest.jps

1701-1-import-spring-boot

If required, change the installation settings such as environment name or Git repository link to a custom Spring Boot project. Then press Install.

1701-1-spring-boot-thin-jar-project-installation

When the installation and building of the project are completed, a corresponding message appears. You still need to wait a few minutes for deploy to be finished (feel free to track the process in the Tasks panel). In the default implementation, the deployment is done under the api/greeting context.

1701-1-spring-boot-thin-jar-builder-deploy

In a few minutes, you can make sure that application is up and running by pressing Open in browser button.

1701-1-spring-boot-thin-jelastic-paas-url

Topology for Spring Boot Thin looks as in the picture below.

1701-1-spring-boot-thin-topology

That’s all, feel free to run as many microservices as required for your project without any complexity while building them. In the upcoming articles, we’ll cover the steps of getting Fat, Thin or Skinny Jar files for Thorntail, Vert.x and DropWizard applications. Stay tuned and get more benefits from microservice architecture with Jelastic PaaS.