Hystrix后备方法不运行

时间:2017-06-06 13:36:43

标签: java hystrix spring-cloud-netflix circuit-breaker

我对一个关闭的端点运行调用,但是hystrix没有执行回退方法,并抛出异常:

@EnableCircuitBreaker
@SpringBootApplication
public class WalletPaymentApplication {

    public static void main(String[] args) {
        SpringApplication.run(WalletPaymentApplication.class, args);
    }
}

任何人都知道是否缺少任何配置?

我的主要

public PaymentMethodsData setUpPaymentMethods(String customerId) {
    return new PaymentMethodsData(getCardList(customerId));
}

@HystrixCommand(fallbackMethod = "getCardListCircuitBreaker")
public List<SummaryCardData> getCardList(String customerId) {
    return template.getForObject(configureUrl(cardUrl), CardRows.class, customerId).getRows();
}

public List<SummaryCardData> getCardListCircuitBreaker(String customerId){
    return new ArrayList<>();
}

和我的服务:

array = ('a'..'z').to_a
p array[array.index('a'.downcase) + 1].upcase

1 个答案:

答案 0 :(得分:6)

要启用@HystrixCommand(fallbackMethod = "getCardListCircuitBreaker"),您必须从另一个bean调用您的方法。然后注释将正常工作。