4

I was using Spring Boot 2.4 with Gradle.

Here is how I've defined my dependency:

compile 'org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j'

It was working fine, but when I add:

implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'

I get this error:

java.lang.ClassCastException: class org.springframework.cloud.sleuth.instrument.circuitbreaker.TraceCircuitBreaker cannot be cast to class org.springframework.cloud.circuitbreaker.resilience4j.Resilience4JCircuitBreaker (org.springframework.cloud.sleuth.instrument.circuitbreaker.TraceCircuitBreaker and org.springframework.cloud.circuitbreaker.resilience4j.Resilience4JCircuitBreaker are in unnamed module of loader 'app')
        at org.springframework.cloud.circuitbreaker.resilience4j.Resilience4JCircuitBreakerFactory$$EnhancerBySpringCGLIB$$a7735aed.create(<generated>) ~[spring-cloud-circuitbreaker-resilience4j-2.0.0.jar:2.0.0]

Does anyone have any idea what is wrong?

Janez Kuhar
  • 3,705
  • 4
  • 22
  • 45
sally
  • 41
  • 3

2 Answers2

0

I ran to the same problem just recently. here is how I fixed the problem:

I was using an Resilience4JCircuitBreakerFactory to create the CircuitBreaker.

@Autowired
private Resilience4JCircuitBreakerFactory circuitBreakerFactory;

...

CircuitBreaker checkStockWithCircutBreaker = circuitBreakerFactory.create("inventory");

this did not work once I added the spring-cloud-starter-sleuth dependency. use the abstract class CircuitBreakerFactory so that Spring automatically injects the proper CircuitBreakerFactory instance available

@Autowired
private CircuitBreakerFactory circuitBreakerFactory;

...

CircuitBreaker checkStockWithCircutBreaker = circuitBreakerFactory.create("inventory");
ashkan
  • 21
  • 9
0

As mentioned in the Spring Cloud Sleuth documentation, you have to dissable sleuth circuit breaker. It can just be solved adding the following property in the application.properties: spring.seuth.circuitbreaker.enabled=false

The documentation link is the following: Spring Cloud Sleuth documentation

koldou
  • 11
  • 1
  • 2