nacos的配置管理中如果采用properties格式来管理配置,千万别用注释符“#” 来屏蔽配置。否则有可能存在配置项取消不生效的问题发生。
假设应用中有如下注入的动态变量:
@NacosValue(value = "${config.set.val:}", autoRefreshed = true)
private String val;
注意其中有个冒号,表示当配置不存在的时候使用空字符串替代。
如果当前应用程序是启动的状态,对配置项config.set.val做注释,发布后应用中并不会自动将val变量配置成默认值空字符串,而是继续沿用原先nacos中配置的参数值。
那么我们如何撤销config.set.val的配置数据呢?
其实很简单,只要在nacos中如下设置即可:
config.set.val=
等号后面留空即可。注意此时提交发布nacos会提示有可能存在语法错误,我们不用管直接提交就好了。这时候应用就会收到配置项为空字符串了。
如果反过来设置,期初nacos的配置项中注释禁用了某个配置,然后启动应用,如果我们想要再次启用这个配置项,该怎么办?其实很简单,去掉“#”符号,配置成想要的配置发布nacos即可。这时候应用是可以收到配置参数的。