为了更改Hystrix的默认请求超时(1000‘s),必须设置以下属性:hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=2000
对应的环境变量是什么?
我想在我最喜欢的云平台上“调优”超时,而不首先触及源代码。我很确定这个不管用:HYSTRIX_COMMAND_DEFAULT_EXECUTION_ISOLATION_THREAD_TIMEOUT_IN_MILLISECONDS=2000
编辑:/SpringBoot1.4发现了问题。
发布于 2017-06-23 21:07:58
VM选项和环境变量可以从应用程序配置中引用,这通常是设置长名称属性的一种更方便的方法。
例如,可以在application.yml
中定义以下引用
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: ${service.timeout}
这将从VM选项-Dservice.timeout=10000
中解析,将默认的Hystrix命令超时设置为10秒。对于环境变量,它甚至更简单--多亏了松弛结合,其中任何一个都能工作(export
示例适用于Linux):
export service.timeout=10000
export service_timeout=10000
export SERVICE.TIMEOUT=10000
export SERVICE_TIMEOUT=10000
常用的方法是对VM参数使用lowercase.dot.separated
,对环境变量使用ALL_CAPS_WITH_UNDERSCORES
。
发布于 2017-06-24 21:50:36
您可以尝试使用默认值的表达式:
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: ${SERVICE_TIMEOUT:2000}
如果您有SERVICE_TIMEOUT
系统变量--它将被应用程序使用,否则,将获取一个默认值。
发布于 2017-03-01 16:18:09
使用JSON环境变量可以找到比解决方案更多的解决方案:
SPRING_APPLICATION_JSON='{ "hystrix" : { "command" : { "default" : { "execution" : { "isolation" : { "thread" : { "timeoutInMilliseconds" : 3000 } } } } } } }'
https://stackoverflow.com/questions/42072591
复制相似问题