2

I'm trying to migrate my Spring Boot 2 Resilience4j implementation to the one provided by Spring Cloud Circuitbreaker.

So basically, from resilience4j-spring-boot2 + resilience4j-reactor dependencies to spring-cloud-starter-circuitbreaker-reactor-resilience4j dependency.

According to Spring Cloud documentation, I found out that it was possible to configure the CircuitBreaker (containing the TimeLimiter module) and the Bulkhead modules of Resilience4j through customizers.

However, I don't see any configuration available for the Retry and RateLimiter modules, that are available features in R4J documentation.

Is there a way to configure those modules directly with Spring Cloud Circuitbreaker so they are part of the ReactiveCircuitBreakerFactory? Or do I still need to configure a RetryRegistry appart from it?

Sancho
  • 417
  • 4
  • 20

1 Answers1

0

spring-cloud-starter-circuitbreaker-reactor-resilience4j comes with the following dependencies:

  • org.springframework.cloud.spring-cloud-starter
  • org.springframework.cloud.spring-cloud-circuitbreaker-resilience4j
  • io.github.resilience4j.resilience4j-circuitbreaker
  • io.github.resilience4j.resilience4j-timelimiter
  • io.github.resilience4j.resilience4j-reactor

If you need any of the other features from resilience4j like bulkhead or retry, you'll have to add them to your dependencies.

Ref: https://github.com/spring-cloud/spring-cloud-circuitbreaker/blob/main/spring-cloud-starter-circuitbreaker/spring-cloud-starter-circuitbreaker-reactor-resilience4j/pom.xml

Rishabh Sairawat
  • 440
  • 6
  • 17