Some software has higher than usual requirements for availability, safety or security. Very often in such projects, people practice pragmatic paranoia and coding style called Defensive Programming.
This is the third article of a short series about the Resilience4j library. If you are not familiar with the library itself, please read this introduction article first. There is also a similar write-up about circuit breaker implementation.