2015-10-07 73 views
1

更新猬configuraitons我在春天的云应用使用猬与命令一样在运行时

@HystrixCommand(groupKey = "GroupKey", commandKey = "dummy", 
     threadPoolProperties = { 
       @HystrixProperty(name = "coreSize", value = "10") 
     }) 
public Observable<String> dummy() { 
    return new ObservableResult<String>() { 
     @Override 
     public String invoke() { 
      return "OK"; 
     } 
    }; 
} 

定义我想在运行时更新coreSize(线程池的大小)属性。如何做到这一点?可能吗?或者我应该寻找不同的解决方案?

我一直在阅读有关Archaius以及它如何用于更新配置,但我不明白它如何用于我想要完成的。

在我的主课中,我使用了@EnableAutoConfiguration,它将ArchaiusAutoConfiguration添加到应用程序中。

感谢您的帮助!

回答

2

创建Archaius一个config.properties文件,包含行

hystrix.threadpool.YOUR_GROUP_KEY.coreSize=10 

确保该文件是您的应用程序的类路径或明确的JVM属性,例如配置位置

-Darchaius.configurationSource.additionalUrls=file:///opt/myapp/config.properties 

Archaius通常每分钟读取一次文件,因此设置将在没有应用程序重新启动的情况下应用。

0

如果要以自定义时间间隔阅读更新后的配置,请参阅here