有谁能告诉我如何在Spring Cloud Eureka Hysterix命令中重试尝试如下?默认情况下,Spring Cloud是否会在被调用方法的第一次失败时断开电路?
请建议。
@HystrixCommand(fallbackMethod="getDataFallBack" )
public ResponseEntity<CurrencyConversion> addConversionFactor(@RequestBody CurrencyConversion currencyConversion) throws Exception{
log.info("in addConversionFactor ... " + currencyConversion);
//some operations here
return ResponseEntity.ok(currencyConversion);
}
Hystrix充当断路器,不提供任何重试功能。这取决于调用客户机来实现重试。对于Spring Cloud,您可以使用Spring Cloud Netflix@LoadBalanced
RestTemplate
(或WebClient
)或直接使用Spring Retry。
@HystrixCommand
上有几个不同的配置属性,控制断路器何时跳闸。所有可用属性的完整概述可以在这里获得:https://github.com/Netflix/Hystrix/wiki/Configuration。控制错误阈值的是circuitBreaker.errorThresholdPercentage。
还请注意Spring Cloud Hystrix已弃用。如果你正在创建一个新的应用程序,你应该考虑使用Spring Cloud Circuit Breaker。