@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);}
}