2015-10-07 61 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