Я использую SpringBoot версии 1.5.9. Я не могу понять, почему мой класс Fallback не работает. Может я что-то не так делаю?
Мой клиент Feign:
@FeignClient(
name = "prices",
url = "${prices.url}",
configuration = MyFeignConfig.class,
fallbackFactory = FallbackClass.class
)
public interface PricesFeignClient {
@GetMapping("/{userId}")
PriceModel get(
@PathVariable("userId") String userId
);
}
Вот запасной класс:
@Component
public class FallbackClass implements FallbackFactory<PricesFeignClient> {
@Override
public PricesFeignClient create(Throwable cause) {
return new PricesFeignClient() {
@Override
public PriceModel get(String userId) {
System.out.println("LALALA");
return null;
}
};
}
}
Теоретически, мой запасной метод должен работать out, если мой клиент Feign возвращает ошибку. Здесь в клиенте Feign в файлах в Prices.url я указал неправильный URL (смоделировал ситуацию, когда моя удаленная служба, которой я выполняю вызов, недоступна). Зная, что мой клиент Feign должен вернуться с ошибкой, и должен быть вызван класс Fallback, в котором в консоли я должен получить сообщение: "LALALA" .
This сообщение отсутствует в консоли: мой класс Fallback не вызывается. Вместо этого я получаю сообщение о том, что запрошенный ресурс не найден.
Скажите, пожалуйста, в чем может быть проблема? Могу я где-нибудь ошибиться?
Дело в том, что сейчас я пытаюсь заставить мой класс Fallback работать. И затем я хочу вызвать другой класс Fa gnet в классе Fallback с другим URL-адресом, чтобы он работал, если моя основная служба недоступна. Скажи мне, пожалуйста. спасибо