Hystrix命令值映射抛出HystrixProperty Exception

Hystrix command value mapping throws HystrixProperty Exception

考虑下面的代码,

主要class

@SpringBootApplication
@EnableCircuitBreaker
public class Main {
}

休息控制器

@PostMapping("/...")
@HystricCommand(commandProperties = { @HystrixProperty(name=”execution.isolation.thread.timeoutInMilliSeconds”, value=”${request.timeout.interval}”)})
public Object getData(){
}

当我调用这个端点时,我得到:

HystrixProperty Exception- Failed to set commandProperties. groupKey: MyController, commandKey: getData, threadPool: 'null'.

当我删除 -> value=”${request.timeout.interval}” 并将其硬编码为 -> value=”1000” 时,异常不再显示并且执行成功。

我们不能在这里做值映射吗?如果不是,是否可以将此 属性 移动到 application.properties 或通过任何配置文件全局处理 属性?

我不希望值字段与我的端点一起被硬编码,因为我的应用程序中有 10 多个端点。

从您的控制器中的@HystrixCommand,删除为超时配置的HystrixProperty 并提供commandKey=。现在在你的 application.properties 添加,

hystrix.command.HystrixCommandKey.execution.isolation.thread.timeoutInMilliseconds=2000

欲了解更多详情结帐, https://github.com/Netflix/Hystrix/wiki/Configuration#execution.isolation.thread.timeoutInMilliseconds