Spring cloud gateway with Resilience4j circuit breaker

In that post we will cover how to use resilience4j circuit breaker with spring cloud gateway for the back-end services behind the gateway by utilizing the following :

In that post we will show the case of how you can mix the usage of the Resilience4j spring boot starter and spring cloud circuit breaker starter so you can configure externally through spring configuration your circuit breakers definitions if you do not want to use the code configuration approach provided by Spring cloud circuit breaker starter through Customizers.

Continue reading

Continuous Development with Spring boot and Kubernetes

If you are developing Spring boot/Java application for Kubernetes, you will find out that testing and debugging the application during the daily local development is very complex and time consuming, since you have to keep doing

  • Build the application through the build tool
  • Build the docker image from docker terminal or build tool
  • Push the container image to a docker registry
  • Create/Refresh the Kubernetes’ objects with rolling deployment updates

But today we will cover how we can do that in a robust almost automated way to give the same old web typical web application development experience and you will end up feeling it is the same at the end .

we are going to show how to make your developer experience more manageable through the usage of the following:

Continue reading

DAO integration test with TestContainers , Spring boot , Liquibase and PostgresSQL

We will cover here how to do DAO integration test when you have spring boot application with PostgreSQL DB and liquibase for schema versioning , last time we have explained how to do the same without liquibase using embedded PostgreSQL in this post but this time we will do the same but using docker with test containers which will apply your liquibase changes and making sure you DAO integration test has the same environment as production database environment if you are using docker for your data base in production .

Continue reading

Java Functional Retry with resilience4j-retry

We will go through specific module(Resilience4j-Retry) from Resilience4j which is a fault tolerance library designed for Java8 and functional programming and it is lightweight library with minimal dependencies (mainly vavr) 

When you retry , there are many cases for example :

  • cross micro services communication for remote systems calls which most likely will need  circuit breaker logic added as well
  • if you have business or functional logic that need to get a consistent end state and most likely it is asynchronous Flow

Continue reading

Spring Boot Akka Event Sourcing Starter – Part 4 – Final

Now here we will share some possible designs when you use the spring boot event sourcing toolkit starter plus some remarks and action points .

What are some possible designs using the toolkit for event sourcing and CQRS services :

Continue reading

Spring boot with Apache ignite persistent durable memory storage plus sql queries over ignite cache

In this post we will show how we can do the following :

  1. Integrate spring boot with Apache Ignite
  2. How to enable and use persistent durable memory feature of Apache Ignite which can persist your cache data to the file disk to survive crash or restart so you can avoid data losing.
  3. How to execute SQL queries over ignite caches
  4. How to unit test and integration test ignite with spring boot
  5. Simple Jenkins pipeline reference
  6. Code repository in GitHub : GithubRepo

ignitedurablememory

Continue reading