c56f4bcfc0972d2e96c426e01e8da4db96781d7c
\351\205\215\347\275\256\344\270\255\345\277\203.md
... | ... | @@ -190,7 +190,8 @@ ConfigUtils.onUpdate("base_log.master", (newValue) -> { |
190 | 190 | |
191 | 191 | 在此,`onUpdate(String appNameTag, Consumer<String> consumer)` 方法用于注册配置更新监听器。其中: |
192 | 192 | - `appNameTag`:由应用名称和版本号拼接而成(appName.tag),同时它也是配置项的键名。 |
193 | -- `consumer`:这是一个回调函数,当配置更新时,它会被触发,接收一个JSON序列化为字符串的新配置值,比如```{"foo":"bar","number":123,"storageType":"1"} ```,注意其中的 ```storageType: 1``` 就是上面```app.json```配置中的```storageType value``` 的键值内容。 |
|
193 | +- `consumer`:这是一个回调函数,当配置更新时,它会被触发,接收一个JSON序列化为字符串的新配置值,比如```{"foo":"bar","number":123,"storageType":"1","esURI":"http://192.168.175.198:19200"} ```,注意其中的 ```"storageType":"1"``` 和 ```"esURI":"http://192.168.175.198:19200"``` 就是上面```app.json```配置中的```storageType esURI```作为key以及它们对应的键值内容,其中的```"foo": "bar"``` 是该app的其他配置项,所以多个配置项在同一个app中可以共存。 |
|
194 | + |
|
194 | 195 | 回调函数的参数 `newValue` 包含了该app的所有配置项。即使某些配置项未发生变化,它们也会被包含在内,因为配置是以整体形式更新的。因此,业务代码中应进一步判断配置项的实际值是否真的发生了改变,如下所示: |
195 | 196 | ```java |
196 | 197 | if (!newValue.getString("foo").equals(oldValue.getString("foo"))) { |