Hystrix-javanica在类级别动态设置属性

时间:2016-06-23 21:53:26

标签: java dynamic properties hystrix

我在Spring控制的环境中使用Hystrix-javanica。为了便于在运行时配置参数,我使用@HystrixCommand注释方法,并在另一个@PostConstruct带注释的方法中动态设置Hystrix命令属性。

当我的类有一个用@HystrixCommand注释的方法(比如说methodA)时,我可以通过执行以下命令在'command key'级别设置一个属性:

ConfigurationManager.getConfigInstance().setProperty("hystrix.command.methodA.execution.isolation.thread.timeoutInMilliseconds", timeout);

如果我的班级中有两个或多个用@HystrixCommand注释的方法,而不是分别为每个方法设置属性,我怎样才能在班级(或'组键'级别)设置它们?

提前致谢

1 个答案:

答案 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")
})