Resilience4j

Resilience4j is a lightweight fault tolerance library which provides higher-order functions to enhance any functional interface, lambda expression or method reference with a Circuit Breaker, Rate Limiter, Retry or Bulkhead.
Nice example of functional composition with pragmatic library with minimum number of dependencies.