@RefreshScope实现nacos配置中心数据的动态刷新。
如果需要监听nacos配置中心数据的变化,并执行对应的业务逻辑,则可以使用@NacosConfigListener注解。
除了需要导入微服务和nacos配置中心的jar,还需要额外导入如下的jar:
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-spring-context</artifactId>
<version>1.1.1</version>
</dependency>
另外启动类或者配置类使用@EnableNacosConfig进行修饰
// 使nacos配置监听生效
@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "127.0.0.1:8848"))
@SpringBootApplication
public class ThreadDynamicApplication {
public static void main(String[] args) {
SpringApplication.run(ThreadDynamicApplication.class, args);
}
}
@NacosConfigListener的使用
@RefreshScope
@RestController
public class TestController {
@Value("${person.name}")
private String name;
@GetMapping("/test")
public String test() {
return name;
}
// 监听nacos配置,当配置中心中指定配置发生变化时,触发该注解修饰的方法
// dataId来自nacos配置中心创建的配置的dataId
// properties可以指定很多属性,比如namespace、username、password等
@NacosConfigListener(dataId = "test.yml", groupId = "DEFAULT_GROUP", properties = @NacosProperties(namespace = "public"))
public void onConfigChanged(String newConfig) {
System.out.println("newconfig:" + newConfig);
}
}
监听Nacos配置变化方法
3252

被折叠的 条评论
为什么被折叠?



