我想将方法注释中的以下配置移动到属性文件
@HystrixCommand(commandProperties = {
@HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "10000"),
@HystrixProperty(name = "metrics.rollingStats.timeInMilliseconds", value = "10000"),
@HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "5"),
@HystrixProperty(name = "circuitBreaker.errorThresholdPercentage", value = "100")
},
fallbackMethod = "fallbackCall")
我将application.yml文件放在src / main / resources
下hystrix:
command.:
getResult:
circuitBreaker:
sleepWindowInMilliseconds: 10000
errorThresholdPercentage: 100
requestVolumeThreshold: 5
metrics:
rollingStats:
timeInMilliseconds: 10000
我没有使用弹簧靴。这个文件没有被Hystrix接收。
是否需要进行任何配置才能将application.yml传递给hystrix配置?
答案 0 :(得分:1)
创建为config.properties并且工作正常。 默认情况下,这是由archaius
查找的hystrix.command.getResult.metrics.rollingStats.timeInMilliseconds=10000
hystrix.command.getResult.circuitBreaker.requestVolumeThreshold=5
hystrix.command.getResult.circuitBreaker.errorThresholdPercentage=100
hystrix.command.getResult.circuitBreaker.sleepWindowInMilliseconds=10000
答案 1 :(得分:0)
我遇到了类似的问题,我们在项目中使用Spring Boot和Spring Cloud依赖项。添加以下依赖性已解决了该问题,
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>${version-as-per-your-project}</version>
</dependency>
我们最初以低于依赖性的方式进行测试,这是导致问题的原因,
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>