Today I am going to specifically talk about how to implement JIB for multi-module project.
A multi-module project is built from an aggregator POM that manages a group of submodules. In most cases, the aggregator is located in the project’s root directory and must have packaging of type pom.
Now, the submodules are regular Maven projects, and they can be built separately or through the aggregator POM.
By building the project through the aggregator POM, each project that has packaging type different than pom will result in a built archive file.
You can refer to this article to understand it…
To keep this article simple and short I would not be dwelling into what is graceful shutdown and why this is so important when it comes to K8s. You can read this blog on medium to understand the details.
I am going to explain about how to enable this feature specifically for spring boot applications in this article.
You need to have Sprint boot version 2.3.x for the below to work. This latest version of spring boot supports the graceful shutdown out of the box. You need literally 0 code changes to achieve this and save some embarrassment :)
We wanted to implement OAuth2 security using JWT to protect our API(s). We are running our micro-service application in kubernetes platform and using Active Directory as our Authorization Server.
High Level Flow
In our case the Authorization server is “Azure AD”. The resource server is our micro-service which exposes some API(s) which we want to protect. The client in our case is other applications and not a user. i.e. B2B.
Azure AD requires some changes to make it work as per OAuth2 compliance. you can follow this article on medium.com https://medium.com/@abhinavsonkar/making-azure-ad-oidc-compliant-5734b70c43ff …
What is Cosmos DB
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service. With a click of a button, Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. You can elastically scale throughput and storage, and take advantage of fast, single-digit-millisecond data access using your favorite API including: SQL, MongoDB, Cassandra, Tables, or Gremlin. Cosmos DB provides comprehensive service level agreements (SLAs) for throughput, latency, availability, and consistency guarantees, something no other database service offers.
Our Use Case
We have an on-premises Java application which we are in process…