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