Java Класс Feign Fallback - PullRequest
       41

Java Класс Feign Fallback

0 голосов
/ 09 апреля 2020

Я использую 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-адресом, чтобы он работал, если моя основная служба недоступна. Скажи мне, пожалуйста. спасибо

...