Circuit breaker w springu

0

Czy mogę założyć circuit breakera na metodę która nie jest endpointem? Próbowałem robić to resliencem i on działa gdy nałożę ją na endpointa w kontrolerze, natomiast ja chciałbym żeby ona działała na wewnętrznej metodzie serwisu która komunikuje się resttemplatem z innym mikroserwisem. Próbowałem to robić i nie działało mi na tej metodzie, a na endpoincie w kontolerze już tak. Chcę tak zrobić ponieważ nie każde wywołanie mojego endpointu musi się komunikować z innym mikroserwisem

0

Oczywiście że zadziała.
Pytanie co masz na myśli pisząc "nakładam" na metodę?

Bo standardowo można użyć resilience4j c-b na dowolnej metodzie

https://www.baeldung.com/resilience4j#circuit-breaker

0

@opiszon:
Mam na myśli, że adnotuje metodę w serwisie i gdy tak robiłem nie działała mi fallback method

1

Ok. Czyli chodzi ci o spring-cloud-circuit-breaker z anotacjami.
Nie przypominam sobie żebym miał z tym jakieś kłopoty, tak samo wiele przykładów w sieci wskazuje np na anotowanie metod na poziomie serwisów, nie kontrolerów.
Np tu https://refactorfirst.com/spring-cloud-resiliance4j-circuitbreaker-and-retry

0

@opiszon:
właśnie nie do końca, używałem resilience4j-spring-boot2
i działało mi na kontrolerze w serwisie nie

1

No to wg dokumentacji tu masz przykład użycia na serwisie z fallbackami https://github.com/resilience4j/resilience4j-spring-boot2-demo/blob/master/src/main/java/io/github/robwin/service/BackendAService.java

Powinno działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1