Я реализовал resilience4j в своем проекте с помощью стартера Spring Boot2 (https://resilience4j.readme.io/docs/getting-started-3).
Я аннотировал метод с помощью @CircuitBreaker, который использует http-клиент для вызова внешней службы, и автоматический выключатель работает нормально, включая его откат.
Я хотел бы добавить для него модульные тесты, но когда я запускаю тест, пытаясь имитировать откат, ничего не происходит - возникает исключение, но не обрабатывается механизмом выключателя.
Я нашел несколько примеров, использующих его метрики, но в моем случае это бесполезно.
Есть предположения?
Вот фрагмент моего клиента:
@CircuitBreaker(name = "MY_CICUIT_BREAKER", fallbackMethod = "fallback")
public ResponseEntity<String> search(String value) {
ResponseEntity<String> responseEntity = restTemplate.exchange(
searchURL,
HttpMethod.GET,
new HttpEntity(new HttpHeaders()),
String.class,
value);
}
public ResponseEntity<String> fallback(String value, ResourceAccessException ex) {
return "fallback executed";
}
client.search(value)
из службы, которая вызывается контроллером - person Eduardo Lima   schedule 30.03.2020