之前写的都是在一个服务里面热更新,使用
@ConfigurationProperties或者@RefreshScope都可以实现。
现在把共同配置放在一个共享文件里,例如,A.yml和B.yml 这两个服务的共享配置是C.yml
除了之前的配置不变外还需要再A,B服务的yml文件里面加上下面代码:
spring:
application:
# 应用名称
name: A
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
refresh: true
重点在共享配置那里,- data-id 就是你的共享配置的文件名,一般是application-dev.yml。refresh是shared-configs的一个属性,默认是false,改成true之后,共享配置文件就会被nacos热更新了