2017-08-11 8 views
3

で注釈を付けた属性の変更を永続化が想定さ:変更とYAMLに@value

... 
my.host: 10.0.103.144 
my.port: 3003 
... 

永続的属性MYHOSTに含まれる値を変更すると、自動的にこの変更のための私のconfiguratonのYMLファイルに反映する方法はありますか?

たとえば、「anotherHost」でこれを呼び出す:私は自動的に設定ファイルを更新するための任意の春のメカニズムを認識していないよ

​​

答えて

1

private changeHost(String newHost) { 
    myHost = newHost; 
} 

は、構成ファイルでこのになるだろう。

ただし、YAML設定ファイルを更新するには、module that supports YAMLでJacksonを使用することができます。それは次のようなものになります:

// Create an ObjectMapper mapper for YAML 
ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); 

// Parse the YAML file 
ObjectNode root = (ObjectNode) mapper.readTree(new File("/path/to/file.yml")); 

// Update the value 
root.put("my.host", "anotherHost"); 

// Write changes to the YAML file 
mapper.writer().writeValue(new File("/path/to/file.yml"), root); 
関連する問題