我这样写我的财产课
@Component
@ConfigurationProperties(prefix = "third")
我的application.yml是
third:
key1:
field1: value1
field2: value2
key2:
field1: value1
field2: value2
它将呈现third.key1
和third.key2
但是,当我在application.yml
third:
key1:
field1: value1
field2: value2
# key2:
# field1: value1
# field2: value2
然后发布actuator/refresh
,它回复third.key2
响应表明它已经认识到application.yml
中发生的变化
bean stil渲染third.key1
和third.key2
答案 0 :(得分:0)
如果要刷新config dynamic,则应在类@RefreshScope
中添加注释。
@Component
@RefreshScope
@ConfigurationProperties(prefix = "third")
此外,您的需求还需要另一个组件springcloud bus
,您可以在spring.io
中进行检查
答案 1 :(得分:0)
您不能通过不在与“刷新”(aka更新)过程相关的列表中提供属性来删除属性...如果属性未在此类列表中列出,则可以合理地假设它根本不需要刷新-它的值保持不变...
与其提供一个空值,而不是不提供它。
third:
key1:
field1: value1
field2: value2
key2:
或在json中
{
"third" : {
"key1" : {
"field1" : "value1"
"field2" : "value2"
},
"key2" : ""
}
}
这应该删除它。