我在Spring控制的环境中使用Hystrix-javanica。为了便于在运行时配置参数,我使用@HystrixCommand
注释方法,并在另一个@PostConstruct
带注释的方法中动态设置Hystrix命令属性。
当我的类有一个用@HystrixCommand
注释的方法(比如说methodA)时,我可以通过执行以下命令在'command key'级别设置一个属性:
ConfigurationManager.getConfigInstance().setProperty("hystrix.command.methodA.execution.isolation.thread.timeoutInMilliseconds", timeout);
如果我的班级中有两个或多个用@HystrixCommand
注释的方法,而不是分别为每个方法设置属性,我怎样才能在班级(或'组键'级别)设置它们?
提前致谢
答案 0 :(得分:1)
您可以在类(类型)级别使用@DefaultProperties批注进行配置,该级别允许默认命令属性,例如groupKey,threadPoolKey,commandProperties,threadPoolProperties和ignoreExceptions。如
@DefaultProperties(groupKey = "TestGroupKey", commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "25000")
}, threadPoolProperties = {
@HystrixProperty(name = "coreSize", value = "50")
})