2015-02-04 4 views
0

Когда я пытаюсь отменить использование HystrixCommand в весеннем облаке, прокси-сервер метода не работает. Исключение, созданное в методе, не улавливается аспектом команды hystrix.Проблема с отключением гистерезис в весеннем облаке

Я столкнулся с этой проблемой с интеграцией с интеграцией Spring Cloud Hystrix. Я использую версию весеннего облака 1.0.0.RC2. Вот пример проекта для репликации проблемы.

Это проблема с тем, как я пользуюсь библиотекой?

https://github.com/thekalinga/hystrix-fallback.git

ответ

3

Я нашел 2 проблемы в вашем FallbackableService.

1) fallbackMethod относится к несуществующему методу;

2) Метод @HystrixCommand (и резервный) не был общедоступным.

Это работает:

@Service 
class FallbackableService { 

    @Autowired 
    FallbackClient fallbackClient; 

    @HystrixCommand(fallbackMethod = "fallback") 
    public String ping() { 
    return fallbackClient.ping(); 
    } 

    public String fallback() { 
    return "PONG: from fallback"; 
    } 

} 
+0

Скопируйте пасту ошибку Я думаю .. Извините за беспокойство .. Спасибо –

1

Если вы создаете аварийный метод просто заботиться об ошибке, то, возможно, она должна быть частной, если вы не хотите подвергать его с внешним миром.

0

Помните, что подпись вашего резервного метода должна быть такой же, как ваш метод, аннотированный с помощью @HystrixCommand. При желании вы можете добавить исключение в качестве параметра, чтобы добавить некоторую бизнес-логику, но если вы попытаетесь выбросить исключение в этом методе, возможно, ваш журнал скажет что-то вроде «fallback method nameMethod failed». Это связано с тем, что Hystrys fallback предназначен для получения данных по умолчанию или данных, хранящихся в кеше, для улучшения поведения по умолчанию, когда ваш удаленный сервис отключен.

Here вы можете прочитать потрясающую документацию, чтобы понять, как Hystrix «думает».

Надеюсь, это поможет.

Смежные вопросы